2011-01-11 10 views
0

WCF Data Serviceからデータを取得するためにjQueryオートコンプリート(Not UI Autocomplete)プラグインを使用する予定です。すべてのデータを取得したい場合は、直接クエリを実行してデータを取得できます。しかし、入力された最初の文字に基づいてデータをフェッチしたい場合は、その値をデータサービスに渡すことができません。私のオートコンプリートのコードがWCFデータサービスでjQueryオートコンプリート

('#txtUsers') 
    .autocomplete("http://localhost/DataService/DataService.svc/Users?$format=json", { 
     width: 320, 
     max: 10, 
     minChars: 3, 
     matchSubset: true, 
     cacheLength: 100, 
     extraParams: { "$filter" : "startswith(Name, '"+$(this).val()+"')" }, 
     formatItem: function(data, i, n, value, term) { 
      return value; 
     }, 
     parse: function(data) { 
      return $.map(data.d, function(row, i) { 
       return { 
        data: row, 
        value: row, 
        result: row 
       } 
      }); 
     } 
    }) 

のように見える私はあまりにもextraParamsでそれを渡そうとしましたが、それはブランク値を保持します。 WCF Data Servicesでオートコンプリートを使用するにはどうすればよいですか?データサービスが他のアプリケーションでも使用されているため、QueryInterceptorsを追加したくありません。

答えて

0

問題は解決されました。 extraParamsオプションを微調整して

extraParams: { 
    "$filter": function() { return "startswith(Name, '" + $('#txtUsers').val() + "')" } 
} 

他の人にとって有益なことを望みました。