0

我正在尝试通过 jquery 动态创建一个选择框,但它不应该具有当前值

    jQuery('.copyad').each(function() { ads.push(jQuery(this).attr('id'));  }); // ["ad1","ad2","ad3"]
 jQuery.each(ads , function(index, value) { 
       option += '<option value="'+value+'">Copy To Ad '+value+'</option>';
  });
jQuery('.copyad').html(option); 

它给出了类似的输出

Ad1 ===
<select class="copyad" id="ad1" >
 <option value="ad1">Copy To ad1 </option>
 <option value="ad2">Copy To ad2 </option>
 <option value="ad3">Copy To ad3 </option>
</select>

Ad2 ===
<select class="copyad" id="ad2" >
 <option value="ad1">Copy To ad1 </option>
 <option value="ad2">Copy To ad2 </option>
 <option value="ad3">Copy To ad3 </option>
</select>
Ad3 ===
<select class="copyad" id="ad3" >
 <option value="ad1">Copy To ad1 </option>
 <option value="ad2">Copy To ad2 </option>
 <option value="ad3">Copy To ad3 </option>
</select>

但我需要像这样的输出

    Ad1 ===
<select class="copyad" id="ad1" >
 <option value="ad2">Copy To Ad 2 </option>
 <option value="ad3">Copy To Ad 3 </option>
</select>

Ad2 === 
<select class="copyad" id="ad2" >
 <option value="ad1">Copy To Ad 1 </option>
 <option value="ad3">Copy To Ad 3 </option>
</select>

Ad3 === 
<select class="copyad" id="ad3" >
  <option value="ad1">Copy To Ad 1 </option>
  <option value="ad2">Copy To Ad 2 </option>
</select>

很快 ...

我怎样才能做到这一点

4

2 回答 2

0
jQuery('.copyad').each(function() { ads.push(jQuery(this).attr('id'));  });
jQuery.each(ads , function(index, value) { 
   if(ads[index] != value){
      option += '<option value="'+value+'">Copy To Ad '+ value[value.length -1] +'</option>';
   }
});
jQuery('.copyad').html(option);

尝试添加这样的条件..

于 2013-05-31T08:42:03.357 回答
0

如果我理解正确,您只想连接 id 的“广告”部分后面的数字:

option += '<option value="'+value+'">Copy To Ad '+ value.substr(value.length - 1) +'</option>';

*编辑:基于以下评论:

jQuery.each(ads , function(index, value) {
   if(ads[index] != value) {
      option += '<option value="'+value+'">Copy To Ad '+ value.substr(value.length - 1) +'</option>';
   }
});
于 2013-05-31T08:43:50.267 回答