【问题标题】:JQueryUI Autocomplete populate number of textboxesJQueryUI 自动完成填充文本框的数量
【发布时间】:2013-04-24 06:11:40
【问题描述】:

假设我有 3 个文本框:

  1. 产品
  2. 购买价格
  3. 卖出价格

产品文本框是自动完成的,它已经很好地工作了,但我想填充默认的 buyPrice 和默认的 sellPrice,我可以从我的表中获取,我可以将它们包含在我返回的 json 中。可能吗??我用谷歌搜索了它,但仍然找不到很好的例子。

这是我的一段代码:

$( "#product" ).autocomplete({
    source: '/product/product'
}); 

我的产品列表 json 示例:

["x10","f10","f25"]

还有 1 个问题。是否可以预先加载我的产品列表,这样每次用户在产品文本框中输入内容时都无需访问服务器?

【问题讨论】:

    标签: jquery json jquery-ui jquery-ui-autocomplete


    【解决方案1】:

    使用自动完成的select 事件。

    您收到的响应无法与自动完成器一起正常工作。根据文档,source 需要返回一个带有附加字段的 json 对象,而不是一个简单的数组。像这样:

    {
        value: "jquery",
        label: "jQuery",
        buy:   100,
        sell:  200
      },
    

    然后在选择回调中,你可以使用那些像

    这样的字段
     select: function( event, ui ) {
        $( "#project" ).val( ui.item.label );
        $("#buyPrice").val( ui.item.buy );
        $("#sellPrice").val( ui.item.sell );
    
        return false;
      }
    

    例如fiddle

    【讨论】:

    • 它工作正常.. 非常感谢.. 还有一件事.. 我可以将所有列表预加载到 json 中,这样就不需要每次用户输入时都发送到服务器?我可以为此在脚本中使用迭代,但感觉它不是正确的方法?
    • 当然可以,只需调用获取结果列表,然后使用数据作为源初始化自动完成器。
    猜你喜欢
    • 2017-04-27
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多