确定是否取消选中所有jQueryUI复选框(按钮)

时间:2015-05-26 23:19:56

标签: jquery html jquery-ui checkbox

我有一系列由html呈现的jQueryUI复选框,如下所示......

<input class="asset-tile-select-input" id="asset-tile-select-input-84" type="checkbox"
name="asset-tile-select">
<label for="asset-tile-select-input-84"></label>

我让他们一起去......

$("input[id*='asset-tile-select-input']").button(
{
    text: false
});

然后,每当(我认为)该盒子被取消/检查时,我会使用以下内容来确定是否应该显示/隐藏相关元素......

$("input[id*='asset-tile-select-input']").change(
function()
{
    if( $("input[id*='asset-tile-select-input']:checked") )
    {
        alert("asdf");   
        if( $("#box-asset-icon-container").is(":visible") == false )
        {
            $("#box-asset-icon-container").show(300);
        }
    }
    else
    {
        if( $("#box-asset-icon-container").is(":visible") == true )
        {
             $("#box-asset-icon-container").hide(300);
        }
    }
});

仅限警报触发,无论是选中还是取消选中该框。为什么?它以一种方式工作,因为如果检查了某些内容,它将显示相关元素.show()。我如何设置它以便它知道是否所有类似的复选框都没有被检查,并反过来隐藏相关的#box-asset-icon-container元素?

1 个答案:

答案 0 :(得分:1)

这里的问题是$("input[id*='asset-tile-select-input']:checked")是一个对象。请改用$("input[id*='asset-tile-select-input']:checked").length > 0