从另一组中选择单选按钮时自动选择单选按钮

时间:2013-03-06 08:32:35

标签: javascript jquery

有一组单选按钮

<div class="wrapper"> <strong> Number of images:</strong>
<div class="formText">
    <input type="radio" name="rdNumber" value="100" />100
    <input type="radio" name="rdNumber" value="200" />200
    <input type="radio" name="rdNumber" value="300" />300
    <input type="radio" name="rdNumber" value="400" />400
    <input type="radio" name="rdNumber" value="500" />500
    <input type="radio" name="rdNumber" value="600" />600
    <input type="radio" name="rdNumber" value="1000" checked="checked"
    />1000
    <input type="radio" name="rdNumber" value="1200" />1200
    <input type="radio" name="rdNumber" value="1500" />1500
    <input type="radio" name="rdNumber" value="1600" />1600
    <input type="radio" name="rdNumber" value="other" />other
</div>
</div>

还有一组单选按钮

<div class="wrapper"> <strong><span>*</span> Number of additional pages:</strong>

<div class="formText">
    <input type="radio" name="rdNumberPages" value="0" />0
    <input type="radio" name="rdNumberPages" value="1" />1
    <input type="radio" name="rdNumberPages" value="2" />2
    <input type="radio" name="rdNumberPages" value="3" />3
    <input type="radio" name="rdNumberPages" value="4" checked="checked"
    />4
    <input type="radio" name="rdNumberPages" value="5" />5
    <input type="radio" name="rdNumberPages" value="6" />6
    <input type="radio" name="rdNumberPages" value="7" />7
    <input type="radio" name="rdNumberPages" value="8" />8
    <input type="radio" name="rdNumberPages" value="9" />9
    <input type="radio" name="rdNumberPages" value="10" />10
    <input type="radio" name="rdNumberPages" value="other" />other
</div>
</div>

如何在jquery中使用rdNumber选择“other”时自动选择“rdNumberPages”的“其他”单选按钮? 这是小提琴http://jsfiddle.net/k4Y4z/

3 个答案:

答案 0 :(得分:4)

检查

var rdNumberPages = $('input:radio[name="rdNumberPages"]');
var rdNumbers= $('input:radio[name="rdNumber"]');
rdNumbers.change(function(e){
    var $target = $(e.target);
    if($target.is(':checked')){
        if($target.is('[value="other"]')){
            rdNumberPages.not('[value="other"]').prop('disabled', true);
            rdNumberPages.filter('[value="other"]').prop('checked', true);
        } else {
            rdNumberPages.not('[value="other"]').prop('disabled', false);
        }
    }
});

演示:Fiddle

答案 1 :(得分:1)

你去:http://jsfiddle.net/k4Y4z/5/

$('#other1').click(function() {
   if($('#other1').is(':checked')) { $('#other2').attr('checked', 'checked'); }
});

答案 2 :(得分:1)

试试这个:

$('input:radio[value="other"]').change(function () {
  $.each($('[value="other"]'), function () {
    $(this).prop('checked', true);
  });
});