【问题标题】:Use html input data field attribute on bootstrap typeahead在 bootstrap typeahead 上使用 html 输入数据字段属性
【发布时间】:2014-08-27 20:27:06
【问题描述】:

我正在尝试获取一个数据字段属性来选择我的“objects.json”的哪个字段将用作我的 Bootstrap Typeahead 输入文本的来源,例如:

form.html

<input type="text" data-provide="typeahead" data-field="name">

form.js

$("[data-provide=typeahead]").typeahead({
  source: function(query, process) {
    return $.get("/objects.json", {
      query: query
    }, function(data) {
      return process($.map(data, function(o) {
        return o[$(this).data('field')];
      }));
    });
  }
});

objects.json

[{"id":1,"name":"lorem"},
 {"id":2,"name":"ipsum"},
 {"id":3,"name":"dolor"}]

问题是 Javascript 上的“$(this).data('field')”没有获取 HTML 数据字段属性。

提前致谢!

【问题讨论】:

    标签: javascript jquery json attributes bootstrap-typeahead


    【解决方案1】:

    不确定这是否适用于您,但就我而言,我认为data-field 不起作用。我尝试在线搜索以查看“field”是否为保留字,但找不到任何内容。 无论如何,将data 属性更改为其他任何属性(例如:data-myfielddata-fieldID 等)对我有用。

    【讨论】:

    • data-field 不是浏览器保留的,但可能是 Bootstrap 约定。
    【解决方案2】:

    您是否尝试过使用 $(this).attr('data-field')?我也你可能想看这里: http://api.jquery.com/attribute-equals-selector/ 这也可能是您的一些问题,这取决于您是否获得了初始元素

    【讨论】:

    • 是的,我已经尝试过了:$(this).attr('data-field') $(this).getAttribute('data-field') $(this).prop('data-field') $(this).data('field') 没有任何效果。我得到了 json 数据,但没有加载 Typeahead 列表。
    【解决方案3】:

    试试这个:

    $("[data-provide=typeahead]").typeahead({
       source: function(query, process) {
         return $.get("/objects.json", {
         query: query
       }, function(data) {
          return process($.map(data, function(o) {
            return o[$(this).attr('data-field')]; //<-- Use attr()
          }));
         });
       }
    });
    

    【讨论】:

    • 是的,我已经尝试过了:$(this).attr('data-field') $(this).getAttribute('data-field') $(this).prop('data-field') $(this).data('field') 没有任何效果。我得到了 json 数据,但没有加载 Typeahead 列表。
    猜你喜欢
    • 1970-01-01
    • 2018-02-22
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多