显示基于多个无线电选择的字段

时间:2015-10-06 20:46:26

标签: javascript jquery html

我被要求仅在选择某个组合的无线电时显示另一个无线电输入!这可能吗? (从这里借用脚本:http://jsfiddle.net/wdckktz7/

HTML

var

脚本

<div><input type="radio" id="option 1" name="group1" value="A" /></div>
<div><input type="radio" id="option 2" name="group2" value="B" /></div>
<div><input type="radio" id="option 3" name="group3" value="C" /></div>
<div id="combined"><input type="radio" id="option 4" name="group4" value="D" /></div>
<!--When option 2 and option 3 are checked then option 4 is revealed-->

3 个答案:

答案 0 :(得分:1)

监听相关无线电输入的变化,并评估是否应显示附加无线电。

http://jsfiddle.net/rat15ba5/2/

$('[name=group1],[name=group2]').change(function() {
   var op = (
       $('[name=group1]:checked').val() == 'A' &&
       $('[name=group2]:checked').val() == '2'
   ) ? 'show' : 'hide';
   $('#a2')[op]();
});

答案 1 :(得分:0)

是每次选择新的单选按钮时,您需要存储选择的单选按钮,并且需要检查所需的选择组合是否与您的选择历史相匹配。

您可以通过将每个按钮的ID推送到数组中来列出过去的选择。

答案 2 :(得分:0)

您可能希望为确定的单选按钮指定一个通用名称&amp; class,分别说name="group1".radio,这样你就可以轻松地选择它们并在它们上设置一个事件监听器,如下所示:

$('.radio').on('change', function() {
    var r = $('.radio');
    $('#combined')[(r[1].checked && r[2].checked ? 'show' : 'hide')]();
})
.change();

$('.radio').on('change', function() {
    var r = $('.radio');
    $('#combined')[(r[1].checked && r[2].checked ? 'show' : 'hide')]();
})
.change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input type="radio" id="option 1" class="radio" name="group1" value="A" /></div>
<div><input type="radio" id="option 2" class="radio" name="group2" value="B" /></div>
<div><input type="radio" id="option 3" class="radio" name="group3" value="C" /></div>
<div id="combined"><input type="radio" id="option 4" name="group4" value="D" /></div>
<!--When option 2 and option 3 are checked then option 4 is revealed-->