正确重命名克隆的输入JQuery
Properly renaming cloned inputs JQuery
我正在尝试创建自己的克隆函数,该函数可以更改克隆输入的名称,以便PHP可以收集这些输入。
在W3C上,我发现了这个从构建的简单函数
$("button").click(function(){
$("p").clone().appendTo("body");
});
我对它进行了修改,克隆了一个具有多个输入的字段集,它成功了。我更进一步,试图让它重命名和整数化不同输入元素的name属性,现在它甚至不克隆字段。
这是我迄今为止所拥有的。
$("#p20_01_yes").click(function(){
var num = $('.clonedInput').length,
newNum = new Number(num + 1);
$("#cloner").clone($("input, textarea, select").each().attr('name'+newNum)).appendTo("#page20");
});
我只是想发布一个HTML片段,但我收到了一个警告,告诉我限制是30000个字符,所以这里有一个js fiddle可以显示所有内容。
https://jsfiddle.net/Optiq/krjztsm2/
我以这种方式构建JQuery,因为我认为在克隆函数内部进行重命名,然后将结果附加到页面上,而不是将结果附加在页面上,然后返回并将其与其他所有内容分离以进行深入挖掘更合适。。。我觉得这对电脑来说更有意义。这是正确的看待方式吗?
你已经很接近了。我不确定我的答案是否能完美地工作(因为JSFiddle非常混乱),但你可以在之后调整类和id。
你只需要把你的任务分成两部分:
- 克隆字段集
- 更新输入元素的名称(可能还有id?)
下面是一个如何工作的例子:
$("#p20_01_yes").click(function(){
var num = $('.clonedInput').length,
newNum = new Number(num + 1);
var $clonedFieldset = $("#cloner").clone().appendTo("#page20");
$clonedFieldset.find("input, textarea, select ").each(function() {
var $item = $(this);
$item.attr('name', $item.attr('name') + newNum);
});
});
相关文章:
- 使用ajax的输入jquery意外结束
- 如何从输入 JQuery 或 javascript 中获取修改后的文本
- 从输入 jquery 获取值
- 如何将MP3文件播放到麦克风输入jQuery中
- 正在尝试预览表单输入jQuery
- 如何启用由日期选择器 ui 附加的输入?(JQuery 插件)
- 检测用户是否没有't输入任何内容/删除输入jQuery
- 删除输入jquery中的值时清除所有更改
- 在编辑输入 jQuery 后激活只读返回
- 验证并附加电话输入 Jquery
- 如果相同的单词在输入 jquery 或 js 中写入两次,则发出警报并不允许
- 如何附加用户输入?jQuery.
- 使用 .val() 的输入 jQuery 进行计算
- 对所有子输入JQuery使用replaceWith
- Vaildate动态添加数组输入-jQuery Validate
- 文件输入jQuery更改事件只触发一次
- 正确重命名克隆的输入JQuery
- 检查输入Jquery的起始字符的值
- 动态添加输入jquery
- 在鼠标输入jquery中使用延迟