mvc3 を使用して開発された Web サイトで jquery ui を使用しました。I used jquery ui auto-complete mechanism.
私は次のjquery関数を使用しました-
/// script to load owner for owner dropdown.
$(function () {
$("#Owner_FullName").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Employee/AutocompleteSuggestions",
type: "POST",
dataType: "json",
data:
{
term: request.term
},
success: function (data) {
response($.map(data, function (item) {
return { label: item.FullName, value: item.Id }
}
))
}
})
},
minLength: 1,
focus: function (event, ui) {
$("#Owner_FullName").val(ui.item.label);
return false;
},
select: function (event, ui) {
if (ui.item) {
$("#Owner_FullName").css('border', '');
$("#Owner_FullName").val(ui.item.label);
$("#OwnerId").val(ui.item.value);
return false;
}
},
change: function (event, ui) {
if (ui.item == null) {
$("#Owner_FullName").css({ 'border': '1px solid #ff0000' });
$("#OwnerId").val(null);
}
}
});
});
テキスト ボックスに所有者名を表示し、さらに処理するために OwnerId を隠しフィールドに設定しました。
ユーザーがテキストボックスに入力し、ドロップダウンから項目を選択しない場合の処理状況については、change eventを使用し、そのイベントで隠しフィールドを null にリセットし、css をテキストボックスに適用しました。
今私の問題は、テキストボックスフィールドが必須フィールドではないことです。ユーザーがテキストボックスに入力してデータを送信すると、警告の種類のメッセージが表示され、テキストボックスの値がユーザーによってクリアされるまで送信手順が発生しないはずです。
これを処理する方法は?