JS:单选按钮 - 根据选择动态生成

时间:2017-02-01 08:55:04

标签: javascript forms options

我有一个问题如何描述,希望你得到我想说的话:

让我们说一下:你的两大汽车品牌是什么:

我选择了#1来自: 奥迪,大众,BWM,美洲虎(它的BWM)

对于#2,没有宝马的选项应该相同: 奥迪,大众,捷豹

如何从第二个选项字段中扣除选项#1?

任何提示都表示赞赏!

(我通常会编写PHP,但我喜欢在没有屏幕重新加载的情况下实现这一点,我知道JS可能会这样做,但我缺乏这种技能)

1 个答案:

答案 0 :(得分:1)

这个例子使用的是jQuery库,它的工作方式如下:

如果您从字段集1中选择某些内容,则只需隐藏来自其他字段集的类似输入。

它还隐藏了位于输入标签附近的标签。

您可以运行此代码段以查找其工作原理。



$("input[name=cars_0]").change(function(){

  
  var val = $(this).val();
  

 // Show everything before hiding new one
  $("input[name=cars_1]").show()
   .prev('label').show();
  
  // Hide input tag based on value
   $("input[name=cars_1][value="+val+"]").hide()
   .prev('label').hide(); //Hide label tag
  
  });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>

  <fieldset>
    <label for="audi_0">Audi</label>
    <input id="audi_0" type="radio" name="cars_0" value="audi">

    <label for="bmw_0">BMW</label>
    <input id="bmw_0" type="radio" name="cars_0" value="bmw">
    
    <label for="jaguar_0">Jaguar</label>
    <input id="jaguar_0" type="radio" name="cars_0" value="jaguar">
    
  </fieldset>
  
  <fieldset>
    <label for="audi_1">Audi</label>
    <input id="audi_1" type="radio" name="cars_1" value="audi">

    <label for="bmw_1">BMW</label>
    <input id="bmw_1" type="radio" name="cars_1" value="bmw">
    
    <label for="jaguar_1">Jaguar</label>
    <input id="jaguar_1" type="radio" name="cars_1" value="jaguar">
    
  </fieldset>
  
</form>
&#13;
&#13;
&#13;