如何从Jquery中的多选下拉列表中删除选项

时间:2014-03-12 08:22:12

标签: javascript jquery html

我有一些带有一些预选值的表列,现在我想从下拉列表中删除这些选定的值(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();
                 }
            });
        });

2 个答案:

答案 0 :(得分:2)

这就是这样做的方式,快捷方式

            $('#listname option:selected').each(function (index, option) { 
                $(option).remove(); 
            });      

答案 1 :(得分:1)

还有另一种解决这个问题的方法..但是在表行上设置类,你所要做的就是改变表元素本身的类来隐藏/显示大量的东西,同时只进行一次重绘,这大大提高了性能。

在这个例子中,我添加了一个硬编码的类,但你可以使用jQuery的addClassremoveClass或查找可用的最佳替代方案。

<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>