我有一系列由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元素?
答案 0 :(得分:1)
这里的问题是$("input[id*='asset-tile-select-input']:checked")
是一个对象。请改用$("input[id*='asset-tile-select-input']:checked").length > 0