如何将验证规则动态添加到复选框数组?
How to add validation rule dynamically to checkbox array?
我正在将输入字段动态附加到 div
。我想检查是否至少检查了一个 checkbox
,为此我使用 class 将 JQuery
验证规则动态添加到输入数组 checkbox
。
HTML:
<input type="checkbox" name="ans[]" value="opt_' + x + '" class="answer_check">
JavaScript:
$(".answer_check").rules("add", {required: true, messages: {required: "Please select correct answer/s."}});
我在控制台中收到以下错误。
语法错误,无法识别的表达式:label[for='ans[]'], label[for='ans[]'] *, #ans[]-error
如果 $(".answer_check")
表示多个元素,则不能简单地将其附加到 .rules()
方法。开发人员将这些方法设计为仅适用于选择器的第一个匹配元素。
要附加到多个元素,您需要将其包裹在 jQuery .each()
中。
$(".answer_check").each(function() {
$(this).rules("add", {
required: true,
messages: {
required: "Please select correct answer/s."
}
});
});
此外,虽然您可以在 组 复选框或单选元素中共享相同的 name
,但每个分组 必须 有一个 unique name
否则这个插件将无法正常工作。
示例:
Question 1:
<input type="radio" name="foo" value="yes" />yes
<input type="radio" name="foo" value="no" />no
<input type="radio" name="foo" value="maybe" />maybe
Question 2:
<input type="radio" name="bar" value="yes" />yes
<input type="radio" name="bar" value="no" />no
<input type="radio" name="bar" value="maybe" />maybe
我正在将输入字段动态附加到 div
。我想检查是否至少检查了一个 checkbox
,为此我使用 class 将 JQuery
验证规则动态添加到输入数组 checkbox
。
HTML:
<input type="checkbox" name="ans[]" value="opt_' + x + '" class="answer_check">
JavaScript:
$(".answer_check").rules("add", {required: true, messages: {required: "Please select correct answer/s."}});
我在控制台中收到以下错误。
语法错误,无法识别的表达式:label[for='ans[]'], label[for='ans[]'] *, #ans[]-error
如果 $(".answer_check")
表示多个元素,则不能简单地将其附加到 .rules()
方法。开发人员将这些方法设计为仅适用于选择器的第一个匹配元素。
要附加到多个元素,您需要将其包裹在 jQuery .each()
中。
$(".answer_check").each(function() {
$(this).rules("add", {
required: true,
messages: {
required: "Please select correct answer/s."
}
});
});
此外,虽然您可以在 组 复选框或单选元素中共享相同的 name
,但每个分组 必须 有一个 unique name
否则这个插件将无法正常工作。
示例:
Question 1:
<input type="radio" name="foo" value="yes" />yes
<input type="radio" name="foo" value="no" />no
<input type="radio" name="foo" value="maybe" />maybe
Question 2:
<input type="radio" name="bar" value="yes" />yes
<input type="radio" name="bar" value="no" />no
<input type="radio" name="bar" value="maybe" />maybe