我在表单中有这些输入和复选框
<input class="validate[minCheckbox[1]] checkbox" id="maxcheck_0" type="checkbox" name="children[]" value="Juliette" />
<input type="text" name="school[]" id="school_0" value="" /><br />
<input class="validate[minCheckbox[1]] checkbox" id="maxcheck_1" type="checkbox" name="children[]" value="Franck" />
<input type="text" name="school[]" id="school_1" value="" /><br />
<input class="validate[minCheckbox[1]] checkbox" id="maxcheck_2" type="checkbox" name="children[]" value="Lisa" />
<input type="text" name="school[]" id="school_2" value="" />
和此jquery绑定复选框单击
$('input[type=checkbox]').bind('click',function() {
if($(this).is(':checked')){
$('#school_0').attr('class', 'validate[required]');
//$('#school_1').attr('class', 'validate[required]');
//$('#school_2').attr('class', 'validate[required]');
} else {
$('#school_0').removeAttr('class');
//$('#school_1').removeAttr('class');
//$('#school_2').removeAttr('class');
}
});
如何将class属性添加到与其复选框相关的任何输入?
答案 0 :(得分:1)
如果您的所有复选框都有这样的“maxcheck_”+某个整数形成的ID,并且所有关联的文本框都根据复选框id中列出的整数关联。然后你可以:
获取所点击的复选框的ID。 split()
处的_
字符串,并访问数组第二个位置的值。使用数组第二个位置的值,然后可以将其添加到“school_”的末尾以修改正确的文本框。
$('input[type=checkbox]').bind('click',function() {
if($(this).is(':checked')){
var idnum = (($(this).attr("id")).split("_"))[1];
$('#school_ ' + idnum).addClass('validate[required]');
} else {
$('#school_' + idnum).removeClass('validate[required]');
}
});
答案 1 :(得分:1)
假设文本输入始终是复选框后的下一个元素,则应该可以使用:
$(this).next("input").addClass("myclass");
答案 2 :(得分:0)
添加
将data-id属性设置为复选框,并随时使用
检索它/它们$(this).attr('data-id');
答案 3 :(得分:0)
$('#school_0').addClass('validate[required]');