JQuery向新选项添加​​其他数据

时间:2013-09-26 11:56:29

标签: jquery

我想知道是否有可能在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>

4 个答案:

答案 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');
});

此处示例: http://jsfiddle.net/2eeSt/