我有一個選擇框被克隆。我想從每個克隆選擇框中刪除用戶以前的選擇。下面是確實的clone()
方法:如何在克隆()操作中刪除所選元素
function addselect(s){
$('#product_categories > .category_block:last').after(
$('#product_categories > .category_block:last').clone()
);
set_add_delete_links();
return false;
}
function set_add_delete_links(){
$('.remove_cat').show();
$('.add_cat').hide();
$('.add_cat:last').show();
$("#product_categories > .category_block:only-child > .remove_cat").hide();
}
function removeselect(s){
$(s).parent().remove();
set_add_delete_links();
return false;
}
這有點兒工作,但最後選擇不刪除:
$('#product_categories > .category_block:last option:selected').remove();
下面是HTML
<div id="product_categories">
<div class="category_block">
<select name="category_ids[]" id="cat_list">
<option value="">Select Attribute</option>
<option value="1770">Foo0</option>
<option value="1773">Foo1</option>
<option value="1775">Foo2</option>
<option value="1765">Foo3</option>
<option value="1802">Foo4</option>
<option value="1766">Foo5</option>
</select>
<input class="specsinput" type="text" name="specs[]" value="" />
<a href="#" onClick="return removeselect(this);" class="remove_cat"> [-] </a>
<a href="#" onClick="return addselect(this);" class="add_cat"> [+] </a>
</div>
我的回答假設'.category_block'是''
@patrick - 到目前爲止,我還沒有能夠正常工作,但我會繼續嘗試,並且非常感謝所有優秀的示例和建議 – Slinky 2010-05-21 20:57:20
您提供的HTML至關重要。它現在應該工作。注意一件**重要的事情。您正在克隆的'category_block'中的'select'具有'cat_list'的ID。 ID也被克隆,這意味着你有2個元素具有相同的ID(這真的很糟糕)。您需要擺脫該ID,或者在克隆時修改它。 – user113716 2010-05-21 21:35:10