2011-09-09 26 views
2

我有這方面的投入和複選框的形式jQuery的複選框被選中需要輸入條目

<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'); 
    } 
}); 

我怎麼能一個類屬性添加到任何與其複選框相關的輸入?

+0

定義*有關*? – arnaud576875

+0

對不起,我的英語不太好!相關=相關聯(第一個複選框與第一個輸入,第二個複選框與第二個輸入,... – Chris

回答

1

如果所有的複選框都必須格式化這樣的「maxcheck_」 +某個整數和所有的IDS相關聯的文本框根據複選框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]'); 
    } 
}); 
+0

只是完美...非常感謝 – Chris

+0

@Chris不客氣! –

0

添加

數據-id屬性複選框和retreive它/它們,每當你想與

$(this).attr('data-id'); 
+0

嗯,我的網頁不是HTML5,我需要它有效,沒有數據ID ;-( – Chris

1

假設文本輸入永遠是下一個元素的複選框後,這應該工作:

$(this).next("input").addClass("myclass"); 
0
$('#school_0').addClass('validate[required]'); 
相關問題