如果使用jquery自动完成,则javascript函数不会触发onchange

时间:2015-03-13 11:43:01

标签: javascript jquery asp.net autocomplete

我有以下jquery自动完成功能,工作正常。

文本框更改后,它会使用onchange="fieldchanged('1')

运行javascript函数

如果手动输入文本,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 {

                    }
                }

2 个答案:

答案 0 :(得分:1)

您需要收听自动填充的更改事件。

$("#CompanyList").autocomplete({ 
      change: function() {
          $(this).trigger("change");
      }
   });

答案 1 :(得分:0)

试试这个,这里是http://api.jqueryui.com/autocomplete/参考。

$( "#CompanyList" ).on( "autocompletechange", function( event, ui ) {
  alert('changed');
});