jQuery 复选框验证相同 class
jQuery checkbox validation in same class
我想知道我是否可以验证复选框是否可以基于每个问题(例如单选按钮)仅选择一个选项。
但是,我对所有复选框使用相同的 class,即使它们具有不同的标题。
是否可以验证每个问题而不是使用 class 名称进行验证?
对于每个问题,我只想单击“是”或“否”。
下面是 HTML 和 Jquery 代码。
提前致谢。
--- HTML ---
<div><label class="k-checkbox-label" >Question 1</label>
<input type="checkbox" id="q1_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q1_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 2</label>
<input type="checkbox" id="q2_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q2_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 3</label>
<input type="checkbox" id="q3_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q3_no"class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 4</label>
<input type="checkbox" id="q4_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q4_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
---代码---
$('input.k-checkbox').on('change', function() {
$('input.k-checkbox').not(this).prop('checked', false);
});
使用 .closest() method, you can .find() 另一个复选框将其选中的 属性 设置为与单击的复选框相反。
换句话说,在下面的代码片段中,!this.checked
是点击复选框的相反布尔值...应用于另一个。
$("input.k-checkbox").on("click", function(){
$(this).closest("div").find("input.k-checkbox").not(this).prop("checked", !this.checked)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<label class="k-checkbox-label" >Question 1</label>
<input type="checkbox" id="q1_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q1_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 2</label>
<input type="checkbox" id="q2_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q2_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 3</label>
<input type="checkbox" id="q3_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q3_no"class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 4</label>
<input type="checkbox" id="q4_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q4_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
我想知道我是否可以验证复选框是否可以基于每个问题(例如单选按钮)仅选择一个选项。 但是,我对所有复选框使用相同的 class,即使它们具有不同的标题。
是否可以验证每个问题而不是使用 class 名称进行验证? 对于每个问题,我只想单击“是”或“否”。
下面是 HTML 和 Jquery 代码。 提前致谢。
--- HTML ---
<div><label class="k-checkbox-label" >Question 1</label>
<input type="checkbox" id="q1_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q1_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 2</label>
<input type="checkbox" id="q2_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q2_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 3</label>
<input type="checkbox" id="q3_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q3_no"class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 4</label>
<input type="checkbox" id="q4_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q4_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
---代码---
$('input.k-checkbox').on('change', function() {
$('input.k-checkbox').not(this).prop('checked', false);
});
使用 .closest() method, you can .find() 另一个复选框将其选中的 属性 设置为与单击的复选框相反。
换句话说,在下面的代码片段中,!this.checked
是点击复选框的相反布尔值...应用于另一个。
$("input.k-checkbox").on("click", function(){
$(this).closest("div").find("input.k-checkbox").not(this).prop("checked", !this.checked)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<label class="k-checkbox-label" >Question 1</label>
<input type="checkbox" id="q1_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q1_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 2</label>
<input type="checkbox" id="q2_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q2_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 3</label>
<input type="checkbox" id="q3_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q3_no"class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>
<div><label class="k-checkbox-label" >Question 4</label>
<input type="checkbox" id="q4_yes" class="k-checkbox">
<label class="k-checkbox-label" >Yes</label>
<input type="checkbox" id="q4_no" class="k-checkbox uk-margin-left">
<label class="k-checkbox-label" >No</label>
</div>