当使用appendChild </option> </select>选择new时,删除之前的<select> <option>

时间:2014-04-12 19:18:56

标签: jquery appendchild createelement

点击<li>我从数据库获取信息到json。

&#34; 55,63&#34;是来自json的数据。

代码:

$('li.channel').click(function(){
    setTimeout(function(){
        var numbers = "55,63";
        var number = numbers.split(',');
        var select = document.getElementById('selectElement');
        for (f = 1; f < (countdata); f++){
            q = description(f);
            var opt = document.createElement('option');
            opt.value = number[f];
            opt.innerHTML = q;
            select.appendChild(opt);
        }
    }, 5000);
});
<select id="selectElement"></select>

结果:

<select id="selectElementId">
 <option value="55">effects - Russian</option>
 <option value="63">effects - English</option>
</select>

接下来,当我点击另一个<li>时,我正在向json获取新数据。

我想删除之前的所有<option>元素,并使用新的&#39;数字&#39;获取新的<option>。 但是当我点击另一个<li>时,我的<select>元素会更新:

<select id="selectElementId">
 <option value="55">effects - Russian</option>
 <option value="63">effects - English</option>
 <option value="203">clean - Latvian</option>
 <option value="207">clean - English</option>
</select>

如何使用jQuery / javascript删除以前的数据?

1 个答案:

答案 0 :(得分:0)

使用empty()即可:

$('li.channel').click(function(){
    setTimeout(function(){
        var numbers = "55,63";
        var number = numbers.split(',');
        var select = document.getElementById('selectElement');
        $(select).empty(); //empty the select
        for (f = 1; f < (countdata); f++){
            q = description(f);
            var opt = document.createElement('option');
            opt.value = number[f];
            opt.innerHTML = q;
            select.appendChild(opt);
        }
    }, 5000);
});

DOCUMENTATION