这是我的代码。
HTML
<select id="drop_opts">
<option>1<option>
<option>2<option>
<option>3<option>
</select>
骨干
this.collection.each(function(value){
$('#drop_opts option').each(function(){
$(this).attr('id', value.cid);
});
});
我得到的结果是
<select id="drop_opts">
<option id="c3">1<option>
<option id="c3">2<option>
<option id="c3">3<option>
</select>
我做错了什么?感谢,
答案 0 :(得分:1)
因为在每次集合迭代中,您都在更改所有选项的值
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()
});
演示:Fiddle
答案 1 :(得分:0)
我想你希望他们给出值id?
this.collection.each(function(value){
$('#drop_opts option').each(function(){
$(this).attr('id', $(this).val());
});
});
或者value.cid中可能包含哪些内容?你想传递什么样的数据?