Javascript 添加属性id以动态选择选项
这是我的密码 HTMLJavascript 添加属性id以动态选择选项,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,这是我的密码 HTML <select id="drop_opts"> <option>1<option> <option>2<option> <option>3<option> </select> 我得到的结果是 <select id="drop_opts"> <opt
<select id="drop_opts">
<option>1<option>
<option>2<option>
<option>3<option>
</select>
我得到的结果是
<select id="drop_opts">
<option id="c3">1<option>
<option id="c3">2<option>
<option id="c3">3<option>
</select>
1.
2.
3.
我做错了什么?谢谢,因为在集合的每次迭代中,您都在更改all选项的值
var $opts = $('#drop_opts option');
this.collection.each(function (value, i) {
$opts.eq(i).attr('id', value.cid);
});
如果要将该值用作id,则不需要收集循环
$('#drop_opts option').attr('id', function(){
return $(this).val()
});
演示:我猜您希望他们给出值id
this.collection.each(function(value){
$('#drop_opts option').each(function(){
$(this).attr('id', $(this).val());
});
});
或者value.cid中可能包含什么?您希望传递什么类型的数据?value.cid中的cid是什么?为什么每个都放两个?这是什么。collection@C-link cidmodel.cid是模型的一个特殊属性,cid或客户端id是一个唯一的标识符,在第一次创建模型时自动分配给所有模型。如果模型尚未保存到服务器,并且没有最终的真实id,但需要在UI.cidmodel.cid中可见,则客户机id非常方便。作为模型的特殊属性,cid或客户机id是在首次创建模型时自动分配给所有模型的唯一标识符。当模型尚未保存到服务器,并且没有最终的真实id,但需要在UI中可见时,客户端id非常方便。您还需要迭代(for,foreach)value.cid,以将其值与选项匹配。
this.collection.each(function(value){
$('#drop_opts option').each(function(){
$(this).attr('id', $(this).val());
});
});