我正在开发游戏,并且有一个表单输入,用户输入字符数。一旦发生这种情况,每个角色的名称都会显示更多输入。我现在的问题是将这些名称读入数组。
当创建新输入时,还会创建一个名为nameButton的新按钮,这是我的问题,当我尝试单击时,值应该存储在数组中时没有任何反应。我在函数的末尾添加了一个提示,只是为了检查,甚至没有被调用。
如果您有任何建议,请告诉我jsFiddle
function nameRecording(names,$this){
var addRows='<tr id=newRows>';
for(var i =1; i<=names; i++)
{ var nearTr=$this.closest('tr');
addRows=addRows+'<td>Name one:</td><td><form><input type="text" name="charcItem" class = "newR"/></form></td>';
}
addRows=addRows+'<td><div class="button" id="nameButton"> Add! </div></td></tr>';
nearTr.after(addRows);
};
$('#nameButton').click(function(){
names=$(".newR").map(function(){
return $(this).val();
});
prompt(names);
});
我的一些功能。
答案 0 :(得分:2)
尝试这种方式:
$(".form").on('click', '#nameButton', function () {
names = $(".newR").map(function () {
return this.value;
}).get();
prompt(names);
});
.get()
结果上执行.map()
以将集合对象转换为数组。 <强> Demo 强>