我有以下jquery自动完成功能,工作正常。
文本框更改后,它会使用onchange="fieldchanged('1')
如果手动输入文本,onchange运行正常(不要从自动完成列表中选择)。
但是,如果我从自动填充列表中选择任何值,则不会触发onchange="fieldchanged('1');"
。
任何想法有什么不对?
ASPX texbox:
<asp:TextBox ID="txtF10_D" runat="server" CssClass="desc" onchange="fieldchanged('4');" ></asp:TextBox>
AUTOCOMPLETE JQUERY:
var desc_options = ["Desc 1", "Desc 2", "Desc 3", "Desc 4", "Desc 5", "Desc 6", "Desc 7"];
$('.desc').each(function () {
var txt = $(this);
txt.autocomplete({
delay: 0,
source: desc_options,
});
});
JAVASCRIPT FUNCTION:
function fieldchanged(strCode) {
if (strCode == "1") {
var text = document.getElementById('txtOC7_1');
text.value = '0';
} else if (strCode == "2") {
var text = document.getElementById('txtOC8_1');
text.value = 'Y';
} else if (strCode == "3") {
var text = document.getElementById('txtOC9_1');
text.value = 'Y';
} else {
}
}
答案 0 :(得分:1)
您需要收听自动填充的更改事件。
$("#CompanyList").autocomplete({
change: function() {
$(this).trigger("change");
}
});
答案 1 :(得分:0)
试试这个,这里是http://api.jqueryui.com/autocomplete/参考。
$( "#CompanyList" ).on( "autocompletechange", function( event, ui ) {
alert('changed');
});