1

只是想知道是否有人可以告诉我如何将 HTML5 数据元素添加到生成的 jquery<select> <option>中。我有以下代码,它以编程方式<options>从 Ajax 查询的结果中设置选择。

$request.then(function (data) {
    var p_id = $("[name='property_id']").val() || -1;
    for (var d = 0, l = data.length; d < l; d++) {
       var item = data[d];
       var option = new Option(item.text, item.id, false, (item.id === p_id ? true : false));
       // this doesnt work
       option.data('data-owner_id') = item.owner_id;
       option.data('data-property_id') = item.property_id;
       $element.append(option);
    }
    $element.trigger('change');
});

提前致谢。

4

1 回答 1

3

.data()方法采用配对的键和值。试试这个 :

   option.data('owner_id', item.owner_id);
   option.data('property_id', item.property_id);

除此之外,您可以使用.attr()方法将属性添加到您的选项中。我只是给你一个例子。

  option.attr('data-owner_id', item.owner_id);
  option.attr('data-property_id', item.property_id);

编辑:
由于选项变量不是jquery对象,所以你不能像上面的函数那样调用jquery方法。另一种选择是使用本机 javascript .setAttribute()

option.setAttribute('data-owner_id', item.owner_id);
option.setAttribute('data-property_id', item.property_id);
于 2015-03-26T02:20:20.747 回答