【问题标题】:jquery remove check box on conditionjquery在条件下删除复选框
【发布时间】:2010-09-24 05:43:29
【问题描述】:

在一个 div 中有这些复选框(name="val1") 并且在某个操作之后这些复选框被删除

<div name="navigation_b">
    <label id="selectall">
        select all 
        <input type="checkbox" name="selectall" />
    </label>
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
</div>

如果所有的复选框(name =val1) 都被删除,那么 selectall 不应该是可见的。如何使用 jquery 来做到这一点

【问题讨论】:

  • 复选框是如何被删除的? jQuery、其他 javascript、服务器端等
  • 它们是设置为 display:none 还是被实际删除?
  • 使用 jquery .remove() 删除复选框

标签: javascript jquery jquery-ui jquery-plugins jquery-selectors


【解决方案1】:
if( $("input:checkbox[name='val1']").length==0)
{
       $("input:checkbox[name='selectall']")
      .hide();
}

来源是herehere

编辑

您可以隐藏包含selectall 的整个标签 -

if( $("input:checkbox[name='val1']").length==0)
{
       $("label#selectall")
      .hide();
}

【讨论】:

    【解决方案2】:

    您可以检查是否有任何复选框,如果没有则删除标签

    if($('input:checkbox[name="val1"]').length) {
        // do something
    }
    else {
        // do something else
    }
    

    以上内容未经测试,但我认为它非常接近。

    【讨论】:

      【解决方案3】:

      如果您的问题是自动显示 选择所有复选框,当其他复选框被删除时,我认为 jQuery 不可能,除非有一个 jQuery 运动的事件会当元素被移除时触发。您必须手动显示全选复选框,可能是使用其他答案中提供的一种精细解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-27
        • 2019-11-15
        相关资源
        最近更新 更多