Jquery自动填充 - 将选定的值添加到隐藏字段

时间:2010-08-17 09:21:31

标签: jquery autocomplete

我正在使用基于http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/的Jquery自动完成功能。我可以从文本框中选择一个值,并将其添加到列表中,如示例中所示。是否可以将所选值添加到隐藏字段?例如<input type='hidden' value='value 1,value 2, value 3' name="SelectedValue" id="SelectedValue"/>

3 个答案:

答案 0 :(得分:1)

$('input#suggest').result(function(event, data, formatted) {
   $("#SelectedValue").val( $("#SelectedValue").val() + "," data );
});

查看autocomplete documentation了解详情

答案 1 :(得分:1)

要向隐藏字段添加多个值:

var hdnValue = $('hdnFieldName').val();
$('hdnFieldName').val(hdnValue +','+selectedValue);

同时查看string.join

答案 2 :(得分:0)

不要重新发明轮子。只需使用这段jQuery。对于每个自动完成输入字段,它使用原始输入字段的名称创建隐藏字段。在该隐藏字段中,存储自动完成的密钥。提交时,将提交密钥。您无需为后端更改任何内容。

http://www.petefreitag.com/item/756.cfm

$('input.YourClassName').each(function() {
    var autoCompelteElement = this;
    var formElementName = $(this).attr('name');
    var hiddenElementID  = formElementName + '_autocomplete_hidden';
    /* change name of orig input */
    $(this).attr('name', formElementName + '_autocomplete_label');
    /* create new hidden input with name of orig input */
    $(this).after("<input type=\"hidden\" name=\"" + formElementName + "\" id=\"" + hiddenElementID + "\" />");
    $(this).autocomplete({source:'employee-search-json.cfm', 
        select: function(event, ui) {
            var selectedObj = ui.item;
            $(autoCompelteElement).val(selectedObj.label);
            $('#'+hiddenElementID).val(selectedObj.value);
            return false;
        }
    });
});