以下代碼行通過單擊其父div檢查/取消選中複選框。代碼工作正常,除了一個問題。問題是當我們點擊複選框本身時,它不會被檢查。如果已經通過點擊複選框文本或其父文件夾來檢查它,那麼它不會通過單擊複選框本身而被取消選中。如何解決這個問題?當我點擊複選框及其標籤文本和整個父div的寬度時,我想要代碼工作。這裏是demo。檢查/取消選中複選框,通過單擊他們的父divs問題 - jQuery
jQuery的:
$(document).ready(function(){
// Check/uncheck checkboxes clicking on its parent div
$(".checkbox_option").click(function(){
var chk = $(this).find("input[type='checkbox']");
if(chk.prop("checked") == false)
{
chk.prop("checked", true);
}
else
{
chk.prop("checked", false);
}
});
});
CSS:
#checkbox_options {
border:2px solid #b8b8b8;
height:200px;
margin:100px auto;
overflow:scroll;
width:500px;
}
.checkbox_option {
padding:2px 5px;
}
.checkbox_option input[type="checkbox"] {
margin-right:5px;
}
.checkbox_option:hover {
background-color:#464646;
color:#fff;
}
HTML:
<div id="checkbox_options">
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="1" id="cat_1" />
<label for="cat_1">Category 1</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="2" id="cat_2" />
<label for="cat_2">Category 2</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="3" id="cat_3" />
<label for="cat_3">Category 3</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="4" id="cat_4" />
<label for="cat_4">Category 4</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="5" id="cat_5" />
<label for="cat_5">Category 5</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="6" id="cat_6" />
<label for="cat_6">Category 6</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="7" id="cat_7" />
<label for="cat_7">Category 7</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="8" id="cat_8" />
<label for="cat_8">Category 8</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="9" id="cat_9" />
<label for="cat_9">Category 9</label>
</div>
<div class="checkbox_option">
<input type="checkbox" name="category[]" value="10" id="cat_10" />
<label for="cat_10">Category 10</label>
</div>
</div>
給了人以魚,然後教他如何釣魚。 – cnorthfield