我有一些带有一些预选值的表列,现在我想从下拉列表中删除这些选定的值(ddlMultiselect)..表列和下拉选项值都是相同的,我希望这些值应隐藏/删除按条件下拉。
$('#sometabletr:gt(0)').each(function () {
var row = $('td:eq(0) > span', this).text();
$('#ddlMultiselect :selected').each(function () {
var col = $(this).val();
if (row == col) {
$(this).remove();
}
});
});
答案 0 :(得分:2)
这就是这样做的方式,快捷方式
$('#listname option:selected').each(function (index, option) {
$(option).remove();
});
答案 1 :(得分:1)
还有另一种解决这个问题的方法..但是在表行上设置类,你所要做的就是改变表元素本身的类来隐藏/显示大量的东西,同时只进行一次重绘,这大大提高了性能。
在这个例子中,我添加了一个硬编码的类,但你可以使用jQuery的addClass
和removeClass
或查找可用的最佳替代方案。
<doctype html>
<html>
<header>
<title>Demo HIde</title>
<style>
#mytable.even tr.odd {
display:none;
}
</style>
</header>
<body>
<table id="mytable">
<tr class="odd"><td>1</td></tr>
<tr class="even"><td>2</td></tr>
<tr class="odd"><td>3</td></tr>
<tr class="even"><td>4</td></tr>
<tr class="odd"><td>5</td></tr>
<tr class="even"><td>6</td></tr>
</table>
<script>
// Show the even values only
document.getElementById("mytable").className += " even";
</script>
</body>
</html>