【问题标题】:How to not repeat code in select function of Jquery UI autocomplete feature如何在 Jquery UI 自动完成功能的选择功能中不重复代码
【发布时间】:2011-05-17 23:57:21
【问题描述】:

我在一个大表单上有两个 jquery ui 自动完成框(可能有 40 个或更多字段)。 用户可以使用两个不同的自动完成框(按名称或帐号)以两种方式进行搜索。 当用户选择他的搜索结果时,我正在填充表单上的其他字段。 但是,我想知道是否有更清洁的方法。

目前,这就是我所拥有的。

    $( "#search-by-custname" ).autocomplete({
    source: "cust_search_by_name.php",
    minLength: 4,
    select: function(event, ui){
        $('#Custid').val(ui.item.Custid);
        $('#Alpha1').val(ui.item.Alpha1);
        $('#CustName').val(ui.item.CustName);
    }
    });
    $( "#search-by-custalpha1" ).autocomplete({
    source: "cust_search_by_alpha1.php",
    minLength: 4,
    select: function(event, ui){
        $('#Custid').val(ui.item.Custid);
        $('#Alpha1').val(ui.item.Alpha1);
        $('#CustName').val(ui.item.CustName);
    }
    });

php 文件正在从远程数据源获取数据,一切正常。

问题是,如果我在每个自动完成框内引用所有这些字段两次,那将是很多代码行...我想知道是否有更简洁的方法。

我尝试编写自己的函数,但是,我对 javascript 和 jquery 很陌生。

【问题讨论】:

    标签: jquery-ui autocomplete repeat


    【解决方案1】:

    我不能 100% 确定这会奏效,但我不明白为什么它不会。

        var selectFunc = function(event, ui){
            $('#Custid').val(ui.item.Custid);
            $('#Alpha1').val(ui.item.Alpha1);
            $('#CustName').val(ui.item.CustName);
        };
    
        $( "#search-by-custname" ).autocomplete({
        source: "cust_search_by_name.php",
        minLength: 4,
        select: selectFunc
        });
        $( "#search-by-custalpha1" ).autocomplete({
        source: "cust_search_by_alpha1.php",
        minLength: 4,
        select: selectFunc
        });
    

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      相关资源
      最近更新 更多