为什么此脚本为页面上的每个单选按钮和复选框标签添加一个类,而不仅仅是为每个单独的复选框/单选按钮添加一个类?
例如,我有这些按钮:
<input class="required" id="Example31" name="Example3" type="checkbox" />
<label for="Example31">Example Input 3 Option 1</label>
<input class="required" id="Example32" name="Example3" type="checkbox" />
<label for="Example32">Example Input 3 Option 2</label>
<input class="required" id="Example4" name="Example4" type="radio" />
<label for="Example4">Example Input 4</label>
这个脚本:
$("input.required").each(function() {
if ($(this + ":checkbox") || $(this + ":radio")) {
if (!$(this + ":checked").val()) {
var inputId = $(this).attr("id");
$("label[for=" + inputId + "]").addClass("error");
};
};
});
当我单击一个按钮时,脚本会触发。如果没有选中任何框,则每个标签都会添加一个错误,这是正确的。但是,如果选中一个框,则没有任何标签出现错误,这是不正确的。如果我选中第一组中的复选框,但未选中单选按钮,则该单选按钮应标记为错误。
注意:我知道这个脚本还没有考虑到输入名称(所以如果选中了一个具有相同名称的复选框,另一个复选框当前会显示错误),我正在尝试在继续之前解决他的错误.