JQuery Autocomplete隐藏字段

时间:2010-01-14 03:04:34

标签: jquery autocomplete hidden hidden-field

我在问题的第一部分here获得了帮助,无论我忘记提及我的第二个问题。用户从自动填充字段中选择一个值后,我想将vaules ID填充到一个隐藏字段中,以便将其传递给PHP并插入到数据库中。

以下是我要完成的细分:

  1. 用户从自动填充字段中选择场地。
  2. 选择场地后,场地电话,地址和网站将显示在自动填充字段下。数据库中记录的ID将作为其值传递给隐藏字段。
  3. 我有搜索但一无所获。有人能引导我朝着正确的方向前进吗?

    由于

2 个答案:

答案 0 :(得分:6)

我假设你正在使用标准的自动完成插件: http://docs.jquery.com/Plugins/Autocomplete

如果你的html中有这个:

<input type='text' id='foo' />
<input type='hidden' id='bar' />

您需要将其用作javascript:

$(document).ready(
function(){
    var data = "1,address 1,phone 1|2,address 2,phone 2".split('|');
    $("#foo").autocomplete(data,{formatItem:function(item){
        return item[0].split(',').slice(1).join(' ');}
    }).result(function(event,item){
        $("#bar").val(item[0].split(',')[0]);
    });
});

你正在做的是:

  1. 添加formatItem选项 从你的来源中取出id 数据。
  2. 添加结果处理程序 使用id设置隐藏字段。
  3. 如果有帮助,请告诉我。

答案 1 :(得分:2)

我也想到了这个砖墙,在这里有一些帮助,我找到了一个更简单的解决方案

  $("#fieldA").autocomplete({
    source: '<%=Url.Action("functionName", "ControllerName") %>',
    select: function(e,ui) { $('#fieldB').val(ui.item.objectName) }, 
  });

fieldA 执行源文件中的自动完成功能。我正在使用ASP.net MVC,它接受 ControllerName 中的 functionName (当然你可以坚持你想要的网络链接的URL)。该网页返回细分为单独项目字段的行列表。唯一的限制是,返回的其中一个字段名为“ value ”。然后,select允许您从ui.item对象中拆分所有其他字段(ui.item末尾的对象名),并在“ 中放置所需数量的字段em> “来自 ui.item.value 会自动填写自动填充字段。