检查jquery复选框是否需要输入条目

时间:2011-09-09 19:35:11

标签: jquery input checkbox

我在表单中有这些输入和复选框

<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属性添加到与其复选框相关的任何输入?

4 个答案:

答案 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]');