使用单选按钮克隆表单
Cloning forms with radio buttons
在jQuery中克隆表单,例如在有多个人的访客列表上创建RSVP选项,相对简单。
$(selector).clone().insertAfter(selector:last)
输入也相对容易,可以通过将true
传递给clone()
方法来复制方法或属性。为了处理多个输入,您可以将[]
附加到输入名称的末尾:
<input type="text" name="email_address[]"/>
然而,对于radio
类型的<input>
元素,这会变得更加复杂,因为您通常会使用这些元素来表示选择:
<input type="radio" name="choice" value="1"/> <input type="radio" name="choice" value="2"/>
添加方括号语法会进一步混淆事情,因为仍然有多个值,并且一些浏览器现在可能允许不同的选择:
<label>Person:</label> <input type="radio" name="choice[]" value="1"/> <input type="radio" name="choice[]" value="2"/>
<label>Person:</label> <input type="radio" name="choice[]" value="1"/> <input type="radio" name="choice[]" value="2"/>
我们如何在不让单选按钮在后端难以解析的情况下,以一种允许轻松克隆的方式来解决这个问题?
事实证明,这可以通过一点RegEx乐趣来实现!
首先在第一个输入元素中添加一个数值:
<input type="radio" name="choice[0]" value="1"> <input type="radio" name="choice[0]" value="2">
现在在您的JavaScript 中
$(selector).clone().insertAfter(selector:last)
.find('input[type="radio"]').each(function(){
var name=$(this).attr('name');
$(this).attr('name',name.replace(/([0-9]+)/g,1*(name.match(/([0-9]+)/g))+1));
});
这将为每个元素及其同级元素创建一个简单的数字增量。
相关文章:
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- (extjs)获取表单中单选按钮的选定值.不返回该值
- 如果选择单选按钮,则显示表单
- Rails-带有单选按钮的表单,带有启用/禁用附加元素的javascript操作
- 基于单选按钮和复选框的数据表排序
- 如何使用 foreach 循环在表中重复单选按钮
- 贝宝表单问题的单选按钮选择
- 通过单选按钮检查提交表单
- 我的单选按钮没有从foreach循环中获得值,表单验证返回'必填字段'即使已检查
- 在检查单选按钮检查状态后启用/禁用表单元素
- 单击单选按钮,添加/删除表单元素的类
- 获取表单帖子外部的单选按钮值
- 根据单选按钮的选择显示HTML表单
- 如何强制更新Webix数据表中的单选按钮
- 单选按钮表单代码和下拉菜单代码
- 表单验证上的彩色单选按钮-Javascript
- jQuery:如何创建一个带有多个单选按钮的实时搜索表单
- 在允许用户进入下一部分之前,在表单验证中检查是否单击了某个选项(单选按钮)
- JavaScript-测验单选按钮和表单验证
- 根据单选按钮在页面加载时使用不同的样式表