Div ID相同 - 多重隐藏/显示 - 缺少什么?

时间:2012-02-12 06:56:24

标签: php javascript jquery

PHP:

<input type='checkbox' onChange='DoTheSwitch(1);'><div id='Hide1'>Hide</div> 1
<input type='checkbox' onChange='DoTheSwitch(2);'><div id='Hide2'>Hide</div> 2
<input type='checkbox' onChange='DoTheSwitch(3);'><div id='Hide3'>Hide</div> 3
<input type='checkbox' onChange='DoTheSwitch(4);'><div id='Hide4'>Hide</div> 4
<input type='checkbox' onChange='DoTheSwitch(5);'><div id='Hide5'>Hide</div> 5

JavaScript的:

function DoTheSwitch(a){
    var h = getEl("Hide"+a+"").innerHTML;
    switch(h){
        case "Hide":
            getEl("Hide"+a+"").innerHTML = "Show";
            $('input[id^="Hide"]').click(function(){
                $('#HideAB'+$(this).val()).hide();
            });
            break;
        case "Show":
            getEl("Hide"+a+"").innerHTML = "Hide";
            $('input[id^="Hide"]').click(function(){
                $('#HideAB'+$(this).val()).show();
            });
            break;
    }
}

输出(地图上的许多小点):

<div id='HideAB".$Stat."' style='display:block;'></div>

根据我从数据库中提取的内容,那些“HideAB”的值为1,2,3,4,5或6。

我正在尝试做的事情(目前是困难的)是每当用户选中一个复选框“1”时,我想要隐藏所有值为1的HideAB,并取消选中以显示,等等。我如何在Javascript / JQuery部分修复它?

1 个答案:

答案 0 :(得分:0)

Id在整个页面中应该是唯一的,这可能是造成麻烦的原因。如果你必须一起处理几个元素,请尝试使用类。