【问题标题】:JQuery Autocomplete hidden fieldJQuery 自动完成隐藏字段
【发布时间】:2010-01-14 03:04:34
【问题描述】:

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

以下是我想要完成的任务的细分:

  1. 用户从自动完成字段中选择场地。
  2. 选择场地后,场地电话、地址和网站将显示在自动完成字段下方。数据库中记录的 ID 作为其值传递给隐藏字段。

我进行了搜索,但一无所获。有人可以引导我走向正确的方向吗?

谢谢

【问题讨论】:

    标签: jquery autocomplete hidden hidden-field


    【解决方案1】:

    我假设您使用的是标准自动完成插件: 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 设置隐藏字段。

    如果这有帮助,请告诉我。

    【讨论】:

    • @Jieren,今天晚些时候我会试一试,让你知道结果。谢谢。
    【解决方案2】:

    我认为,我也碰到了这堵砖墙,在这里的一些帮助下,我找到了一个更简单的解决方案

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

    fieldA 从源文件自动完成。我正在使用 ASP.net MVC,它采用 ControllerName 内部的 functionName (当然你可以只粘贴您想要的 Web 链接的 URL)。该网页返回分解为单独项目字段的行列表。唯一的限制是返回的字段之一被命名为“value”。然后,选择允许您从 ui.item 对象中分离出所有其他字段(ui.item 末尾的对象名),并根据需要放置在尽可能多的字段中,而 "value ui.item.value 中的 em>" 会自动填充自动完成字段。

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2015-10-25
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      相关资源
      最近更新 更多