我想知道是否有可能在JQuery新选项中添加其他数据。 我有一些选择对象,我追加动态内容:
select.append(new Option(item.name, item.id))
生成HTML,例如:
<option value="22">Uniqa OC Zawodu</option>
我想在选项中添加其他数据,因此我的HTML看起来像:
<option value="22" data-url="some_data">Uniqa OC Zawodu</option>
答案 0 :(得分:8)
你拥有的是vanilla JavaScript,你没有使用jQuery库。使用jQuery,您可以将对象传递给它。对象的属性映射到其对应的DOM属性。请注意,jQuery在内部缓存data-*
属性,并且它们不会作为属性添加到DOM中,因此它们不可见:
$('<option/>', {
text: 'Uniqa OC Zawodu',
value: 22,
data: {
url: 'some_data',
whatever: 1
}
}).appendTo(select);
要检索data-*
属性,您可以使用.data()
方法:
var url = $('option').data('url');
答案 1 :(得分:1)
这样:
$('#SelectOptionId').append('<option value="22" data-url="some_data">someData</option>');
答案 2 :(得分:0)
$('option').attr('data-url','some_data');
答案 3 :(得分:0)
在追加之后,只需执行以下操作:
$('select > option').each(function(i, item) {
var element = $(item);
element.data('url', 'some_data');
});