选择两个具有相同名称、id、值的单选按钮

select two radio buttons with the same name, id, value

本文关键字:id 单选按钮 两个 选择      更新时间:2023-09-26

在我的页面上,我有两个单选按钮表示是,两个表示否。我怎么做呢,如果我在一个地方选中了是,它会选中第二个是按钮,或者如果我选中了否,第二个否也会选中。

下面是我的代码:
<fieldset>
   <input checked="checked" id="search_by_range_no" name="search_by_range" type="radio" value="no">
   <input class="input-long" id="size10" name="size10" type="text" value="27">
   <br>
   <input id="search_by_range_yes" name="search_by_range" type="radio" value="yes">
   <input class="input-long" id="size1" name="size1" type="text" value="15 - 150">
   <br>
   <input checked="checked" id="search_by_range_no" name="search_by_range" type="radio" value="no">
   <input class="input-long" id="size20" name="size20" type="text" value="65">
   <br>
   <input id="search_by_range_yes" name="search_by_range" type="radio" value="yes">
   <input class="input-long" id="size2" name="size2" type="text" value="25 - 250">
   <br>
</fieldset>

我如何同时选择两个收音机?

在同一个单选组中不能选中多个按钮。您需要为这两个集合指定不同的名称。我用的是search_by_range_Asearch_by_range_B。id必须是unix。

要使它自动检查另一个按钮,使用.change()处理程序获取值,然后选择具有相同值的另一个复选框并检查它。

$(":radio").change(function() {
  var value = $(this).val();
  $(":radio[value=" + value + "]").prop("checked", true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset>
  <input checked="checked" id="search_by_range_A_no" name="search_by_range_A" type="radio" value="no">
  <input class="input-long" id="size10" name="size10" type="text" value="27">
  <br>
  <input id="search_by_range_A_yes" name="search_by_range_A" type="radio" value="yes">
  <input class="input-long" id="size1" name="size1" type="text" value="15 - 150">
  <br>
  <input checked="checked" id="search_by_range_B_no" name="search_by_range_B" type="radio" value="no">
  <input class="input-long" id="size20" name="size20" type="text" value="65">
  <br>
  <input id="search_by_range_B_yes" name="search_by_range_B" type="radio" value="yes">
  <input class="input-long" id="size2" name="size2" type="text" value="25 - 250">
  <br>
</fieldset>

再一次…网页上的每个元素的ID 应该是唯一的!

用类代替。

但是,这仍然是有可能实现的。在代码中唯一需要更改的是单选按钮的name,因为所有具有相同名称的单选按钮都被假定为一个组,并且web浏览器只允许选择默认中的一个,并且您无法控制它。

因此更改名称以将单选按钮重新分组为两个不同的集合。

然后你可以这样做:

$("[id^='search_by_range']").change(function(){
    $("[id='"+$(this).attr("id")+"']").prop("checked", "checked");
});

这里是JSFiddle演示

您可以使用javascript解决此问题这里我可以给你一个提示你怎么能做到!

$('#search_by_range_yes').attr('checked','checked');
$('#search_by_range_yes').addAttr('checked');

这将有助于:)

谢谢

在同一组单选按钮中,您不能选中多个。我使用了两个不同的组。

查找以下代码:

<fieldset>
   <input checked="checked" id="search_by_range_no" name="search_by_range" type="radio" value="no">
   <input class="input-long" id="size10" name="size10" type="text" value="27">
   <br>
   <input id="search_by_range_yes" name="search_by_range" type="radio" value="yes">
   <input class="input-long" id="size1" name="size1" type="text" value="15 - 150">
   <br>
   <input checked="checked" id="search_by_range_no" name="search_by_range_second" type="radio" value="no">
   <input class="input-long" id="size20" name="size20" type="text" value="65">
   <br>
   <input id="search_by_range_yes" name="search_by_range_second" type="radio" value="yes">
   <input class="input-long" id="size2" name="size2" type="text" value="25 - 250">
   <br>
</fieldset>

JS代码:

$(function() {
    $(":radio").on("change", function() {
        var val = $(this).val(), checked = this.checked;
        var others = $(":radio[value='"+val+"']").not(this);
        others.prop('checked', true);
    });
});

您可以在这里找到工作演示:http://jsfiddle.net/26g5rxs6/

1。我理解你的问题,因为所有的单选按钮都有相同的名称。

2。同名单选按钮有一个组,只能在该组中选择。

3。您可以将单选按钮按1分组。按2号搜索。按范围搜索。我按照下面的代码更新了你的代码。

<fieldset>
   <input checked="checked" id="search_by_range_no" name="search_by_no" type="radio" value="no">
   <input class="input-long" id="size10" name="size10" type="text" value="27">
   <br>
   <input id="search_by_range_yes" name="search_by_range" type="radio" value="yes">
   <input class="input-long" id="size1" name="size1" type="text" value="15 - 150">
   <br>
   <input checked="checked" id="search_by_range_no" name="search_by_no" type="radio" value="no">
   <input class="input-long" id="size20" name="size20" type="text" value="65">
   <br>
   <input id="search_by_range_yes" name="search_by_range" type="radio" value="yes">
   <input class="input-long" id="size2" name="size2" type="text" value="25 - 250">
   <br>
</fieldset>