2010-08-03 25 views
1

我有以下问题。Jquery:删除选择列表中的以前的数据

我想更新我的子类别选择列表,当用户选择一个特定的leadcategory并在其他选择列表中显示子类别。

问题是,我不知道当我选择另一个leadcategory时,我的上一个子类别必须删除并填充新的数据,取决于我选择的leadcategory。

现在我有下面的代码。

我分析的数据是一个JSON编码谁的样子:

Website.Config = {"categorieen":{"1":{"1":"Navullingen ","2":"Potloden"},"2":{"3":"Navullingen","6":"potloden","7":"testSubcategorie"}}} 


    function onChangeSubcategorie(){ 

categorieen = Website.Config.categorieen; 

$("form#overviewFilter select#cat").change(function() { 
    var hoofdCategorie = $(this).val(); 
    var subcategorieen = categorieen[hoofdCategorie]; 

    for(var c in subcategorieen) { 
    var tekst = subcategorieen[c]; 

    if(hoofdCategorie == 1) { 
    $('form#overviewFilter select#scat').append("<option value="+tekst+">"+tekst+"</option>"); 
    }else if(hoofdCategorie == 2) { 

    $('form#overviewFilter select#scat').append("<option value="+tekst+">"+tekst+"</option>"); 
    } 
    } 
}); 
} 

谢谢你的帮助。

回答

3

您需要先清除#scat列表,然后用新数据填充它。

为此,您可以使用下一个语句:

$('form#overviewFilter select#scat').empty(); 

$('form#overviewFilter select#scat').find('option').remove(); 

的更多信息:jQuery remove

+0

TNX的队友,我会尝试,TNX的快速反馈。 – Navid 2010-08-03 21:18:31

1

您可以通过调用empty() method清除元素的内容,就像这样:

$('#scat').empty(); 

顺便说一句,当你选择由ID的元素,你不需要任何东西,但ID选择器(例如, #scat)。
由于ID是(或者是应该是)唯一,您不需要其他任何东西。
jQuery针对“纯”ID选择器进行了优化,因此#scat将比任何其他选择器都快。