【问题标题】:Unselecting Dropdown Checklist from dropdown-check-list.googlecode.com从 dropdown-check-list.googlecode.com 中取消选择下拉清单
【发布时间】:2011-03-21 14:03:09
【问题描述】:

我正在尝试在 jQuery 的下拉清单插件中单独选择/取消选择项目。

插件是:dropdown-check-list.googlecode.com

我试过了,但是不行:

$('#mylist option').each(function() {
    $(this).attr('selected',false);
    $('#mylist'+i).attr('selected',false);
}

其中 i 是一个递增的整数。 我也尝试过在 attr 之前使用 removeAttr ...

有人知道如何做到这一点吗?

我尝试了以下方法,但无济于事:

Dropdown CheckList 生成两个插入到文档中的基本组件。有一个控件包装器位于原始选择器的位置,并且其作用类似于页面上的项目。还有一个下拉包装器,它仅在控件包装器“打开”并位于控件下方时可见。

这两个项目都被分配了一个 id,你可以在其他 jQuery 中使用 处理以定位和更改 项目。

控制包装 控件包装器具有“ddcl-XXX”形式的生成 id, 其中 XXX 是 1) 分配的基础 id ,或 2)一个递增计数器,当 没有分配 id。 下拉包装器 下拉包装器具有表单的生成 id “ddcl-XXX-ddw”,其中 XXX 匹配 控制包装器的 XXX。

这些 id 必须是唯一的并且 Dropdown CheckList 假定没有其他元素 该页面的 id 存在冲突。

非常感谢您的帮助!

【问题讨论】:

    标签: jquery select drop-down-menu option


    【解决方案1】:

    试试这个,

    $("#mylist").val("");
    $("#mylist").dropdownchecklist("refresh");

    【讨论】:

      【解决方案2】:

      我找到了答案。

      其实你需要销毁组件。

      见下文:

      $('#mylist').dropdownchecklist('destroy');
       $('#mylist option').each(function() {
          $(this).attr('selected',false);
       });
      $("#mylist").dropdownchecklist();
      

      【讨论】:

        【解决方案3】:

        我注意到i 没有定义,您需要在传递给每个循环的函数中启动它:

        $('#mylist option').each(function(i, el){
            $(this).attr('selected',true);
            $('#mylist'+i).attr('selected',true);
        });
        

        顺便说一句,#mylist1#mylist2 真的存在吗?如果它们是列表而不是选项,您为什么要尝试检查它们?

        【讨论】:

        • 感谢您的评论。正如我所说,我增加了。我省略了它以澄清代码。 #mylist+i 指的是引用文档 (ddcl-XXX) 中指定的控件包装器。
        • 啊。我懂了。如果您尝试取消选择它们,为什么要将 $(this).attr('selected') 设置为 true?取消选择它们应该是错误的。
        • 是的,对...对不起,我正在测试...让我改变这个:)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-01
        • 2011-02-10
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        相关资源
        最近更新 更多