Javascript如何删除列表项中的下拉项呢?要从列表框同时删除多个项目,我们不能从上到下的删除,因为上面的项目每删除一个,下面的项目的索引号就会变化,所以只能从下向上删除,这样才不会出现索引号乱变的问题了。
如下面的例子:
HTML代码:
<table>
<tr>
<td align="center">
<select id="lsbox" name="lsbox" size="10" multiple>
<option value="1">India</option>
<option value="2">United States</option>
<option value="3">China</option>
<option value="4">Italy</option>
<option value="5">Germany</option>
<option value="6">Canada</option>
<option value="7">France</option>
<option value="8">United Kingdom</option>
</select>
</td>
</tr>
<tr>
<td align="center">
<button onclick="listbox_remove('lsbox');">Delete</button>
<button onclick="window.location.reload();">Reset</button>
</td>
</tr>
</table>
javascript代码如下:
function listbox_remove(sourceID) {
//根据ID,找到下拉列表
var src = document.getElementById(sourceID);
//循环遍历下拉列表的元素
for(var count= src.options.length-1; count >= 0; count--) {
//判断下拉列表的元素是否被选中,如果选中了,就删除
if(src.options[count].selected == true) {
try {
src.remove(count, null);
} catch(error) {
src.remove(count);
}
}
}
}
如果是使用jquery那么就更简单了:
Jquery代码:
function listbox_remove(sourceID) {
$("#sourceId").find('option:selected').remove();
}
转自 www.gztarena.com
评论