キー ダウン イベントを起動できないオートコンプリート テキスト ボックスがあります。
オートコンプリートボックスのコードは次のとおりです
<script type="text/javascript">
$(document).ready(function () {
$("#TransFinishedPartNumber").autocomplete({
source: function (request, response) {
// define a function to call your Action
$.ajax({
url: '@Url.Action("partLookUp", "Transaction")',
// term will be the param used by your action method
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.pt_part + " " + item.pt_desc1, value: item.pt_part };
}))
$("#TransFinishedPartNumber").removeClass('acLoading');
},
error: function () {
$("#TransFinishedPartNumber").removeClass('acLoading');
}
})
},
minLength: 1, // require at least one character from the user
search: function () { $(this).addClass('acLoading'); },
});
});
ここに、決して発生しないイベントjavascriptがあります...ライブでもバインドでも何でもありません...しかし、クレイジーなことは、オートコンプリートボックスが機能することです...
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function () {
$("#TransFinishedPartNumber").bind("keydown",function (e) {
$("#TransFinishedPartNumber").addClass("ui-state-default");
});
$("#TransFinishedPartNumber").bind("keydown",function (e) {
$("#TransFinishedPartNumber").removeClass("ui-state-default");
});
});
私もこの方法を試しました
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function () {
$("#TransFinishedPartNumber").keydown(function (e) {
$("#TransFinishedPartNumber").addClass("ui-state-default");
});
$("#TransFinishedPartNumber").keydown(function (e) {
$("#TransFinishedPartNumber").removeClass("ui-state-default");
});
});
私は絶対に確実にするためにこのスクリプトに変更しました
<script type="text/javascript">
//Transaction Event handlers and ajax calls
$(document).ready(function () {
$("#TransFinishedPartNumber").keydown(function (e) {
alert(e.which);
});
});