2010-05-21 90 views
2

我有一个选择框被克隆。我想从每个克隆选择框中删除用户以前的选择。下面是确实的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> 

+0

我的回答假设'.category_block'是''