我有一个动态生成的表单 - 其中有多个具有自己元素的字段集。其中有一个单选按钮。这是一个简化的片段:
<form name="ePIC" method="post" action="test.php">
<fieldset>
<input type="radio" name="pic[1]" />
</fieldset>
<fieldset>
<input type="radio" name="pic[2]" />
</fieldset>
<input type="submit" name="submit" value="test" />
</form>
基本上,在字段集中是图片,单选按钮用于选择相册的封面图片。
除了以下事实之外,一切都很有效,因为单选按钮的名称不同,它们不会作为一个组 - 这意味着可以同时选择多个单选按钮。
有谁能告诉我如何使单选按钮作为一个组,可能使用javascript / jQuery?
我开始尝试按类管理按钮 - 但是在一路上就如何影响所有其他单选按钮一样迷失了。
答案 0 :(得分:1)
你最好使用相同的名字,但如果你不能:
$('input[type="radio"]').change(function(){
// Deselect all
$('input[type="radio"]').attr('checked', false);
// Select current
$(this).attr('checked', true);
});
答案 1 :(得分:1)
此jQuery代码将删除所有单选按钮名称的[n]
部分,因此具有相同名称前缀的所有按钮将组合在一起。
$(":radio").attr('name', function(i, name) {
$(this).data('orig-name', name);
return name.replace(/\[.*\]/, '');
});
使用此submit
处理程序在提交表单时将原始名称与索引一起放回。
$("form").submit(function() {
$(this).find(':radio').attr('name', function() {
return $(this).data('orig-name');
});
});
答案 2 :(得分:0)
如果对两个单选按钮使用相同的name
,则只允许选择一个。看看下面的代码。
<form name="ePIC" method="post" action="test.php">
<fieldset>
<input type="radio" name="pic" value="1" />
</fieldset>
<fieldset>
<input type="radio" name="pic" value="2" />
</fieldset>
<input type="submit" name="submit" value="test" />
</form>
答案 3 :(得分:0)
您需要使用相同的名称创建它们,但您可以使用value
属性为它们分配不同的值。