选择两个具有相同名称、id、值的单选按钮
select two radio buttons with the same name, id, value
在我的页面上,我有两个单选按钮表示是,两个表示否。我怎么做呢,如果我在一个地方选中了是,它会选中第二个是按钮,或者如果我选中了否,第二个否也会选中。
下面是我的代码:<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_A
和search_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>
相关文章:
- jQuery:如何查找id是动态生成的单选按钮是否被选中
- 如何使用顺序ID禁用多个单选按钮
- 选中没有ID的单选按钮,只有名称、类型和值
- 如何使用javascript检查id字段为空的单选按钮
- 将域类id返回到由单选按钮选择的控制器
- Knockout.js中使用的唯一ID;对于“;单选按钮组中的标签属性
- 根据单选按钮id属性调用ajax jquery
- 如何获取上次选择的单选按钮 ID
- 按 ID 验证 JavaScript 中的列表框和单选按钮
- 获取 Jquery 中单选按钮组的 ID
- 执行 JavaScript 代码并检查基于 $id=$_GET['id'] 的单选按钮;加载页面时
- 如何使用行 ID 检查表列中的单选按钮
- 如何在 JavaScript 或 jquery 中获取所选单选按钮标签的 ID
- 如何动态地向单选按钮添加唯一 ID
- 使用 Ajax 和 jQuery 将单选按钮值中的 ID 插入数据库
- 如何传递锚点标签中的单选按钮id
- 使用JavaScript获取单选按钮的ID
- 当选择类似此功能的单选按钮时,如何销毁id中的数据
- 通过表单id访问单选按钮值
- 如何在不使用id的情况下选择javascript中的第二个单选按钮