javascript 如果使用 jquery 自动完成,功能不会触发 onchange
javascript function not triggered onchange if jquery autocomplete used
我有以下 jquery 自动完成功能,效果很好。
文本框更改后,它会使用 onchange="fieldchanged('1')
运行 javascript 函数
如果我手动输入文本(不要 select 它来自自动完成列表),onchange 运行良好。
但是如果我 select 自动完成列表中的任何值,则不会触发 onchange="fieldchanged('1');"
。
有什么问题吗?
ASPX 文本框:
<asp:TextBox ID="txtF10_D" runat="server" CssClass="desc" onchange="fieldchanged('4');" ></asp:TextBox>
自动完成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 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 {
}
}
您需要监听自动完成的更改事件。
$("#CompanyList").autocomplete({
change: function() {
$(this).trigger("change");
}
});
试试这个,这里是 http://api.jqueryui.com/autocomplete/ 参考。
$( "#CompanyList" ).on( "autocompletechange", function( event, ui ) {
alert('changed');
});
我有以下 jquery 自动完成功能,效果很好。
文本框更改后,它会使用 onchange="fieldchanged('1')
如果我手动输入文本(不要 select 它来自自动完成列表),onchange 运行良好。
但是如果我 select 自动完成列表中的任何值,则不会触发 onchange="fieldchanged('1');"
。
有什么问题吗?
ASPX 文本框:
<asp:TextBox ID="txtF10_D" runat="server" CssClass="desc" onchange="fieldchanged('4');" ></asp:TextBox>
自动完成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 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 {
}
}
您需要监听自动完成的更改事件。
$("#CompanyList").autocomplete({
change: function() {
$(this).trigger("change");
}
});
试试这个,这里是 http://api.jqueryui.com/autocomplete/ 参考。
$( "#CompanyList" ).on( "autocompletechange", function( event, ui ) {
alert('changed');
});