2015-11-05 129 views
-1

我的代碼有一個javascript,允許在選中輸入括號時顯示下拉列表,當我解開輸入括號時,它不會隱藏顯示的下拉列表。如果這與其他帖子相同,但他們不適合我。取消選中隱藏

下面的代碼

<input type="checkbox" class="ba" name="ab" <?php if (isset($ab) && $ab=="20") echo "checked";?> value="20">20s 
<br> 
<input type="checkbox" class="ba" name="ab" <?php if (isset($ab) && $ab=="30") echo "checked";?> value="30">30s 
<br> 
<input type="checkbox" class="ba" name="ab" <?php if (isset($ab) && $ab=="40") echo "checked";?> value="40">40s        
<br> 
<input type="checkbox" class="ba" name="ab" <?php if (isset($ab) && $ab=="50") echo "checked";?> value="50">50s        
<br> 
<input type="checkbox" class="ba" name="ab" <?php if (isset($ru) && $ru=="all") echo "checked";?> value="All" onClick="toggle3(this)">All Ages 
<br> 
<script src="assets/js/jquery.min.js"></script> 
<input type="checkbox" class="ba" name="ib" id="bracket" value="All">Input Bracket 
<br> 
<div id='input-bracket'> 
<select name="sab" class="req" id="age-range" style="width:50px; height:30px;" autocomplete="off" required/> </select> - 
<select name="sab" class="req" id="second" style="width:50px; height:30px;" autocomplete="off" required/> </select></div> 

$(document).ready(function() { 

$("#input-bracket").hide(); 
$("input[class=ba]").click(function() { 
    if ($(this).attr("id") == "bracket") { 
     $("#input-bracket").show(); 
    } else { 
     $("#input-bracket").hide(); 
    } 
    }); 
}); 
+0

它爲什麼要隱藏它?該邏輯表示在剛纔描述的場景中顯示它。 – Marc

回答

2

不用手動搞清楚何時顯示或隱藏元素讓jQuery的爲你做它用它的 '切換' API http://api.jquery.com/toggle/

$(document).ready(function() { 

$("#input-bracket").hide(); 
$("input[class=ba]").click(function() { 
    $("#input-bracket").toggle(); 
    }); 
}); 
+0

當我檢查另一個它也顯示輸入支架:( – Vista

+0

噢好吧我想通了,我需要從其他複選框中刪除class =「ba」,謝謝! – Vista

0

$(document).ready(function() { 
 

 
    $("#input-bracket").hide(); 
 
    $("#bracket").click(function() { 
 
    if ($("#input-bracket").is(":visible")) { 
 
     $("#input-bracket").hide(); 
 
    } else { 
 
     $("#input-bracket").show(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<input type="checkbox" class="ba" name="ab" value="20">20s 
 
<br> 
 
<input type="checkbox" class="ba" name="ab" value="30">30s 
 
<br> 
 
<input type="checkbox" class="ba" name="ab" value="40">40s 
 
<br> 
 
<input type="checkbox" class="ba" name="ab" value="50">50s 
 
<br> 
 
<input type="checkbox" class="ba" name="ab" value="All" onClick="toggle3(this)">All Ages 
 
<br> 
 

 
<input type="checkbox" class="ba" name="ib" id="bracket" value="All">Input Bracket 
 
<br> 
 
<div id='input-bracket'> 
 
    <select name="sab" class="req" id="age-range" style="width:50px; height:30px;" autocomplete="off" required/></select>- 
 
    <select name="sab" class="req" id="second" style="width:50px; height:30px;" autocomplete="off" required/></select> 
 
</div>

+0

當我檢查了另一個它也顯示輸入-bracket :( – Vista

+0

@Vista我修改了代碼 –