Reputation: 161
I have check box array and 2 groups of text box array like this.
//CHECKBOXES
<div class="checkbox">
<input type="checkbox" value="male" name="sex[0]">
<input type="checkbox" value="female" name="sex[1]">
<input type="checkbox" value="others" name="sex[2]">
</div>
//TEXTBOXES1
<input type="text" name="numberofheads[0]" disabled="true">
<input type="text" name="numberofheads[1]" disabled="true">
<input type="text" name="numberofheads[2]" disabled="true">
//TEXTBOXES2
<input type="text" name="average[0]" disabled="true">
<input type="text" name="average[1]" disabled="true">
<input type="text" name="average[2]" disabled="true">
If I check male sex, all the text box that has 0
key will be enabled, and if unchecked, it will be disabled again. is it possible to do this in jquery? if it does please help me.. thanks!
Upvotes: 0
Views: 132
Reputation: 1631
Try This:
//or $("input[type='checkbox']") use this
$('[name="sex[0]"],[name="sex[1]"],[name="sex[2]"]').click(function(){
var numberval = $(this).index();
if($(this).is(':checked'))
{
$("input[name='average["+numberval+"]'],input[name='numberofheads["+numberval+"]']").removeAttr('disabled');
}
else
{
$("input[name='numberofheads["+numberval+"]'],input[name='average["+numberval+"]']").attr('disabled',true);
}
});
http://jsfiddle.net/1wc6wwr8/2/
Upvotes: 0
Reputation: 3669
Take it http://jsfiddle.net/df6qjf2j/.
$(function() {
$('[type="checkbox"]').on('change', function() {
var isChecked = $(this).is(':checked');
var number = $(this).index();
$('[name="numberofheads[' + number + ']"]').attr('disabled', !isChecked);
$('[name="average[' + number + ']"]').attr('disabled', !isChecked);
});
});
Upvotes: 2