Gre*_*reg 2 html javascript jquery custom-data-attribute
如何将 HTML 数据属性添加到 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');
});
Run Code Online (Sandbox Code Playgroud)
.data()方法采用配对的键和值。尝试这个:
option.data('owner_id', item.owner_id);
option.data('property_id', item.property_id);
Run Code Online (Sandbox Code Playgroud)
除此之外,您可以使用.attr()方法将属性添加到您的选项中。我只是给你举个例子。
option.attr('data-owner_id', item.owner_id);
option.attr('data-property_id', item.property_id);
Run Code Online (Sandbox Code Playgroud)
由于选项变量不是 jQuery 对象,因此您无法像上面的函数那样调用 jQuery 方法。另一种选择是使用本机 JavaScript .setAttribute()。
option.setAttribute('data-owner_id', item.owner_id);
option.setAttribute('data-property_id', item.property_id);
Run Code Online (Sandbox Code Playgroud)