我目前有一个表格设置,用户输入数字,并根据输入的数字,通过jquery,显示一系列文本框。
文本框显示的代码如下:
for(i=0;i<count;i++)
{
ch.innerHTML = ch.innerHTML +"<div style='width:120px;float:left;'>Left
Slide (size 6):</div><div style='float:left;width:100px;'> <input
type='text' class='txt' style='width:80px;margin-right:10px;font-size:14px !
important;' name='six"+ i+"'></div>";
}
(有几个,从这个例子大小为6,直到10号。)
jquery基本上经过并选择所有输入文本框的值,加入它们并将它们添加到表单上的隐藏字段,然后将其提交给后端。
(我只有一个字段可以使用,并且有很多信息可以通过一个字段。)
执行此部分的代码如下:
$(function() {
$("#shineon").click(function(event) {
var data = [];
var form = $("form :input[type=text]");
$.each(form, function(e, textBox) {
if (e > 0) {
data.push($.trim(textBox.value));
}
});
$("#mybond").val(data.join(" "));
});
});
这回归的几乎就是我所需要的,即动态生成的所有文本框的值。
它返回输入如下:
textone texttwo textthree textfour
但是,我真的需要以更具体的方式加入它们 - 这样我就可以捕获所有值,但是基于部分名称匹配(“6”),其中我的文本字段被命名为:six1 six2 six3等等上...
这样我的输入返回如下所示:
six1 - textone texttwo
six2 - textone texttwo
six3 - textone texttwo
有没有办法在不破坏我已编写的代码的情况下轻松完成此任务,哪种方式完美无缺?
答案 0 :(得分:0)
从元素中获取name
属性并将其与值:
data.push($.trim(textBox.getAttribute('name') + textBox.value));