【问题标题】:jQuery check single select if same name but multipled if same values [duplicate]如果名称相同,则jQuery检查单选,但如果值相同则多选[重复]
【发布时间】:2017-08-25 00:36:38
【问题描述】:

大家好,我只是想问一下如何处理检查具有相同名称但具有不同值的checkbox

例如,

  <input type="checkbox" name="my_name" values="1"/>
  <input type="checkbox" name="my_name" values="2"/>
  <input type="checkbox" name="my_name" values="2"/>
  <input type="checkbox" name="my_name" values="3"/>
  <input type="checkbox" name="my_name" values="3"/>

我想要的是:如果我只检查值 = 1 的那个将被检查,如果我检查值为 2 的 1 将被取消选中,所有值为 2 的都将被检查,与三个相同然后所有3 将被选中,而所有 2 将被取消选中。

请帮忙,谢谢:)

【问题讨论】:

  • 如果您要检查单个复选框,name 属性对于每个 input 字段必须是唯一的。
  • @JoshSpears 它不是单独的,这个复选框是分组的,但是如果我想检查一个具有不同值的名称,最后一个具有不同值的复选框将被取消选中
  • 您需要使用收音机来实现此功能。
  • 那么就像@AnuragSinghBisht 所说,type="radio" 就是你所需要的。
  • 你尝试过什么 JavaScript?

标签: javascript jquery html


【解决方案1】:

您可以在更改后的输入的同级中搜索具有该值的其他输入,并将其checked 属性设置为true,同样将checked 设置为false 以获得具有不同值的同级:

$('[name=my_name]').on('change', function() {
  var $this = $(this);
  $this.siblings('[value='+this.value+']').prop('checked', true)
  $this.siblings('[value!='+this.value+']').prop('checked', false)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
1 <input type="checkbox" name="my_name" value="1"/>
2 <input type="checkbox" name="my_name" value="2"/>
2 <input type="checkbox" name="my_name" value="2"/>
3 <input type="checkbox" name="my_name" value="3"/>
3 <input type="checkbox" name="my_name" value="3"/>

【讨论】:

  • 谢谢你的朋友 :) 非常棒
  • 很高兴,很高兴为您提供帮助!干杯:)
【解决方案2】:

多个输入类型不能有相同的名称,但可以有相同的类名。而不是检查名称 attr cheak 而不是类 attr。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 2014-11-21
    • 2022-01-03
    相关资源
    最近更新 更多