在触发更改事件时,值不会传递给函数,自动完成jquery

时间:2013-10-17 05:18:06

标签: javascript jquery

我自动完成了一个文本框,如下所示,

<input type='text' style='width:100px;' id='tags'>

这是在页面加载时加载自动完成的功能。

window.onload=function Search_Items() {
    var action = "Search";
    $.ajax({
        method:'GET',
        url:'Ajax.php',
        data: {action:action},
        success:function(result) {
            document.getElementById("Search_Result_Div").innerHTML=result;
            var temp=document.getElementById("Search_Result").value;
            availableProducts=temp.split("`");

            $(function() {
                var Product=$( "#tags" ).autocomplete({
                    source: availableProducts,
                    select: function () {Data_Modification($(this).val());}
                });

                Product.autocomplete('option','onclick').call(Product);
            });                 
        }
    });
};

这里我只调用了一个函数并传递了一个值(值是在auto-complete中选择的值)。但是在这里它并没有传递我所选择的价值而是通过我输入的搜索内容。

我推断的是,它正在调用函数,然后使用所选值来填充文本框。但我需要用选定的值填充文本框,然后调用该函数。 我该如何解决?如果有人之前遇到此问题请请帮帮我。

2 个答案:

答案 0 :(得分:2)

试试这个

 $(function() {
    var Product=$( "#tags" ).autocomplete({
        source: availableProducts,
        select: function (event, ui) {Data_Modification(ui.item.value);}
    });
    Product.autocomplete('option','onclick').call(Product);
 });  

答案 1 :(得分:0)

我自己找到了解决方案。我重写了这个

select: function () {Data_Modification($(this).val());} 

select: function (event,ui) {Data_Modification(ui.item.value);}

它的工作正常。