繁体   English   中英

jQuery AutoComplete:如何获取所选项目的ID?

[英]Jquery AutoComplete : How to get the selected items id?

我有一个自动完成字段,可以很好地工作,并从数据库中获取数据。 当用户从响应中选择结果时,我想将所选项目的ID保存在隐藏字段中。

这是我用于自动完成的代码

 $jQNetbmis("input#txt_client_name").autocomplete("autosuggest_clientmaster.php", {
        width: 160,
        mustMatch: true,
        selectFirst:false,
        formatResult: function(row) {
            var resStr = row.toString();
            temp = resStr.substring(0,resStr.indexOf("+"));
            return temp;
        },
        formatItem: function(row, i, max) {
            var resStr = row.toString();
            var temp = resStr.substring(0,resStr.indexOf("+"));
            return temp;
        }
     }); 

以下是我按n时得到的回复

name 1+50
Name 2+85
Name 3+86
Name 4+98
Name 5 +103

如果用户选择名称1,我想将50保存到隐藏字段中。

我正在使用自动完成-jQuery插件1.0.2

克里希尼克

您可以使用result处理程序执行此操作。 您可能希望如何完成此操作的一个示例是:

$('input#txt_client_name').result(function(event, data){
    $('input#hidden_field').val(data.substring(data.indexOf('+') + 1));
});

每次用户选择一个项目时都会运行该处理程序。 顺便说一句,您可能想要使用jQuery UI Autocomplete而不是此插件,而为此不推荐使用。

jQuery UI有一个出色的自动完成小部件,该文件已被很好地记录: http : //jqueryui.com/demos/autocomplete/ 您的案例也在那里,因此请举例说明。

我真的不知道您使用的自动完成功能,但问题似乎并非来自此。

只需将id与隐藏字段的现有值连接起来即可:

$jQNetbmis("input#txt_client_name").autocomplete("autosuggest_clientmaster.php", {
    width: 160,
    mustMatch: true,
    selectFirst:false,
    formatResult: function(row) {
        var resStr = row.toString();
        //temp = resStr.substring(0,resStr.indexOf("+"));
        var temp = resStr.split('+');
        $('input#hidden_field').val($('input#hidden_field').val()+'+'+temp[1]);
        return temp[0];
    },
    formatItem: function(row, i, max) {
        var resStr = row.toString();
        var temp = resStr.substring(0,resStr.indexOf("+"));
        return temp;
    }
 }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM