選択入力で選択したオプションに基づいて、オートコンプリートの結果をフィルター処理したいと考えています。
サンプル json データ:
[{"ContactId":"8590051631","ContactType":Company,"Name":"Test },{""ContactId":"8590049225","ContactType":Person,"Name":"TestName}]
ここに私のマークアップがあります
<div>
<select class="type">
<option>Person</option>
<option>Company</option>
</select>
<input type="text" class="name" />
</div>
$('.name').autocomplete("http://services.mydomain.com/rest/ia/findcontact", {
dataType: 'jsonp',
extraParams: {
limit: '',
timestamp: '' }
},
parse: function(data) {
var items = data;
var parsed = [];
if (items != null || items != undefined) {
for (var i = 0; i < items.length; i++)
parsed[i] = { data: [items[i]], value: items[i].ContactId, result: [items[i].Name] };
}
return parsed;
},
formatMatch: function(d,i,t) {
alert($(this).parent().find(".type").val());
// do some filtering here?
}
});
結果をフィルタリングするには formatMatch オプションを使用する必要があるようですが、これを機能させることはできません。選択したオプション値に基づいて結果をフィルタリングするにはどうすればよいですか?