私はjquery 1.8.2とjqueryui 1.9.0ライブラリを使用しています。jqueryオートボックスのテキストボックス設定値をプログラムで
jquery-uiのオートコンプリートテキストボックスを含む「レコードの編集」ダイアログをテーブルに追加しようとしています。
また、オートコンプリートの変更イベントを使用して、指定されたリストからアイテムを選択するユーザーを制限します。
私の編集フォームを表示するときに、既存のデータをテキストボックスに設定していますが、編集フォームで別のフィールドをクリックすると、何も変更されずにエラーがポップされます。私はコンボボックスタイプのオートコンプリートの値を設定する方法を示す多くのサンプルを見つけましたが、テキストボックスタイプのものを見つけることができませんでした。この問題で私を助けてください、私はあなたの答えが他のユーザーにも役立つと思います。ここ
は、オートコンプリートテキストボックスのために私のコードです:
$("#EditMaterialName").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "someurl",
dataType: "json",
data: {
search_string: request.term
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item.description,
value: item.description
}
}));
}
});
},
minLength: 2,
select: function (event, ui) {
},
change: function (event, ui) {
if (!ui.item) {
$('<div class="error"><b> please select a listed value.</b><div>').insertAfter('#EditMatName');
$('#EditMaterialName').val('');
}
},
open: function() {
$(this).removeClass('ui-corner-all').addClass('ui-corner-top');
},
close: function() {
$(this).removeClass('ui-corner-top').addClass('ui-corner-all');
}
});
、ここでは、レコード編集ダイアログを表示するためのコードです:
$('a.edit_link').live("click", function() {
clearEditMaterialForm();
//loading selected value
var valMaterialName = $(this).closest('tr').children('td.cl_material_name').text();
$('#EditMaterialName').val(valMaterialName);
});
は、あなたの答えをどうもありがとうございました。
これはとても楽しく、うまくいきます。本当にありがとうございました。 – Ali
Perfect。よく働く。 –
大変感謝して、私の髪を引き出し始めましたが、これはまだ動作します。 – jared