我正在创建一个像输入表格的调查问卷,我在询问人们最喜欢的游戏机和游戏的问题(正如你从下面的代码中看到的)所有这些都在一个名为duplicator的外部div中。当我点击“游戏”但是'按钮这会调用Jquery方法duplicate()克隆div,所以现在将有两个div,类似的div与其中的smilar文本框。因为它被克隆,我无法从中获取数据,它只给我第一个(原始)div的数据。如何从克隆的div中获取值,任何建议?
MARKUP:
<div id="duplicator">
<div id="gamesborder">
<table>
<tr>
<td>Consoles</td>
<td>Games</td>
</tr>
<tr>
<td>
<%=Html.TextBox("Consoles", ViewData["Consoles"] ?? "") %>
</td>
<td><%=Html.TextBox("Games", ViewData["Games"] ?? "") %> </td>
</tr>
</table>
</div>
</div>
<button id="gamebut" type="button" onclick="duplicate()">Add new entry</button>
的Javascript:
document.getElementById('gamebut').onclick = duplicate;
var i = 0;
var original = document.getElementById('duplicator');
function duplicate() {
var clone = original.cloneNode(true);
clone.id = "duplicator" + ++i;
original.parentNode.parentNode.appendChild(clone);
}
控制器类:
[AcceptVerbs("POST")]
public ActionResult Game(string consoles, string games)
{
ViewData["Consoles"] = consoles;
ViewData["Games"] = games;
ViewData["Forename"] = forename;
if (ViewData.ModelState.IsValid)
{
}
return View();
}
答案 0 :(得分:0)
使用类然后遍历它们,所以不使用ID来访问对象,而是使用jquery类选择器又名
$(".CLASS_NAME");
让您的输入有一个类并通过该类选择
让我们说你的输入
class="duplicated_input"
然后你选择并迭代这样。
var _inputs = $(".duplicated_input");
for(var i = 0; i < _inputs.length; i++)
{
var _input = _inputs[i];
//do your logic here.
}