javascript - jQuery 表单输入到数组中不起作用

标签 javascript jquery html input html-table

我正在开发一款游戏,有一个表单输入,用户可以在其中输入字符数。一旦发生这种情况,每个 Angular 色的名字就会出现更多的输入。我现在的问题是将这些名称读入数组中。

当创建新的输入时,还会创建一个名为 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);
});

还有我的一些功能。

最佳答案

试试这个方法:

$(".form").on('click', '#nameButton', function () {
    names = $(".newR").map(function () {
        return this.value;
    }).get();
    prompt(names);
});
  • 您可以使用 on 来对动态元素使用事件委托(delegate)
  • 您需要对 .map() 结果执行 .get() 将集合对象转换为数组。

<强> Demo

关于javascript - jQuery 表单输入到数组中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583983/

相关文章:

javascript - Ajax Load - 如何强制加载

html - 基于视口(viewport)高度并按比例调整大小的图像列表

php - 使用哪种语言从 MySql 创建图形数据?

javascript - ES6 使用 for..of 反向迭代数组,我是否遗漏了规范中的内容?

javascript - 将整个文档移动到 iframe 中

javascript - JS 添加新字段后 cakephp 表单未正确提交

Jquery Timepicker禁用时间范围

javascript - jQuery 数据 ('datepicker' ).getDate() 返回无效日期

php - 表格中的多个 div 标签用于特定的文本框长度

javascript - 为什么这个反转条件动画不起作用?