0
私はフォームを持っており、複数のjqueryオートコンプリートを持つことができます。フォームが送信されると、私はオートコンプリートで選択した値を取得し、その値を隠しテキストフィールドにダンプしてサーバーに送信します。私はこれを行う方法に関する情報を見つけることはできないようです。私のコードは以下の通りで、クラスオートコンプリートを使ってすべてのテキストフィールドにバインドします。これに関するアイデア?jqueryオートコンプリートの選択値を取得
$(".autocomplete").autocomplete({
autoFocus: true,
source: function(request, response) {
$.ajax({
url: "@Url.Action("SearchEmployees", "ProjectBase")",
minLength: 3,
dataType: "json",
type: "GET",
data: { term: request.term },
success: function(data) {
response($.map(data, function(item) {
return {
label: item.Fullname,
value: item.EmployeeId
};
}));
},
error: function(xhr, textStatus, errorThrown) {
alert("error: " + errorThrown);
}
});
},
select: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
},
change: function (event, ui) {
alert("change: " + (ui.item ? ui.item.label : "<no item>"));
}
});
ゲスト271314さんに感謝しますが、フルネームのみを取得します。私は従業員でなければならない価値が必要です。もしそれが明確でないなら、謝罪してください。 –
_ "私はemployeeidでなければならない値が必要です" _ 'select'イベントハンドラ' $(this)に ' 'の' .value'を 'ui.item.label'に設定しました。 .val(ui.item.label); '。 '' '.value'を' ui.item.value'に設定してください – guest271314
あなたには間違いありませんが、従業員のIDを表示するオートコンプリートのデフォルトの動作を妨げるものがあります。すべての正直なところで私は以前あなたのソリューションに似た何かを試してみました。オートコンプリートが選択されたemployeeidをどのようにストアするかはわかりません。私の気持ちは、オートコンプリートウィジェットのselectイベントで、従業員IDを隠しフィールドなどに追加する必要があるということです。 –