Javascript 如何隐藏jquery choosen dropdownlistbox中的值?

Javascript 如何隐藏jquery choosen dropdownlistbox中的值?,javascript,jquery,gridview,Javascript,Jquery,Gridview,您好,我正在开发一个jquery应用程序,其中我有一个选择dropdownlistbox和gridview。gridview的第一列包含复选框,顶部还包含CheckAll按钮。例如,如果我选中gridview中的3行,则需要禁用DropDownList框中的相应值。我试着如下。 这是从gridview获取所有选中值的代码 var checkedValues = []; $("#<%=gdvRegretletter.ClientID %> tr").each(funct

您好,我正在开发一个jquery应用程序,其中我有一个选择dropdownlistbox和gridview。gridview的第一列包含复选框,顶部还包含CheckAll按钮。例如,如果我选中gridview中的3行,则需要禁用DropDownList框中的相应值。我试着如下。 这是从gridview获取所有选中值的代码

var checkedValues = [];
        $("#<%=gdvRegretletter.ClientID %> tr").each(function () {
            if($(this).closest('tr').find('input[type="checkbox"]').prop('checked', true))
            {
                checkedValues += $(this).val();
            }
        });
我试了如下

$('.limitedNumbSelect').change(function (e) {
            var checkedValues = [];
            $("#<%=gdvRegretletter.ClientID %> tr").each(function () {
                 if ($(this).closest('tr').find('input[type="checkbox"]').prop('checked', true)) {
                     checkedValues.push($(this).closest('tr').find('td:eq(2)').text().trim());
                 }
             });
             $(".limitedNumbSelect > option").each(function () {
                 var val = $(this).val();
                 alert(val);
                 var display = checkedValues.indexOf(val) === -1;
                 $(this).toggle(display);
                 $('.limitedNumbSelect option[value=' + display + ']').hide();
                 $(".limitedNumbSelect").find('option:contains(' + display + ')').remove().end().chosen();
             });
        });
在上面的代码中有一个bug。例如,如果我从gridview中选择一个值,那么如果我单击下拉列表,我可以在第一次单击时选择该值。第二次单击时,所需值将隐藏

上面的代码不起作用。数组checkedValues不捕获值


我不知道里面写什么。任何帮助都将不胜感激。谢谢。

试试这样:

$('.limitedNumbSelect').change(function (e) {
    $("#limitedNumbSelect > option").each(function () {
        var val = $(this).val();
        var display = checkedValues.indexOf(val) === -1;
        $(this).toggle(display);
    });
});
更换线路:

checkedValues += $(this).val();
在这方面:

checkedValues.push($(this).val());

非常感谢。问题是$tr.eachfunction{if$this.closest'tr'。查找'input[type=checkbox]'。属性'checked',true{checkedValues+=$this.val;};这不起作用。嗨,谢谢。这很有效。问题是,只要我从下拉列表中选择某个选项,相应的值就会立即被隐藏。每当我点击drodpwn,它就不会隐藏。我应该在遍历选项之前使用click事件吗?
checkedValues.push($(this).val());