Javascript 获取动态创建的textbox jquery的值时出现问题
我有一个网页,用户在其中向文本框中输入一个数字,然后在一个表格中创建该数量的行,每行的文本框的id格式为“id[I]”,其中I是从用于添加文本框的for循环中分配的数字。在表单提交中,我试图获取这些文本框的值。这是我的表单提交代码来测试东西Javascript 获取动态创建的textbox jquery的值时出现问题,javascript,jquery,Javascript,Jquery,我有一个网页,用户在其中向文本框中输入一个数字,然后在一个表格中创建该数量的行,每行的文本框的id格式为“id[I]”,其中I是从用于添加文本框的for循环中分配的数字。在表单提交中,我试图获取这些文本框的值。这是我的表单提交代码来测试东西 $("#biopsyform").submit(function () { var site = $("#site[1]").attr("value"); alert(site); }); 当我提交表单时,我会收到一个关于undefined
$("#biopsyform").submit(function () {
var site = $("#site[1]").attr("value");
alert(site);
});
当我提交表单时,我会收到一个关于undefined
我试着说var site=$(“#site[1]#”).val()
,得到了相同的结果
在javascript调试器中使用chrome developer工具时,当我在警报前中断时,它会显示$(“#site[1]”)的正确值
,因此我不太确定发生了什么
非常感谢您的帮助
这是一个我在提交时在JSFIDLE中遇到错误的例子,我不知道为什么,我从来没有使用过JSFIDLE。这可能是我的问题的一部分,可能是当我将内容复制到JSFIDLE时,我不知道。尝试用
\
转义[
和]
var site = $("#site\\[1\\]").attr("value");
or
var site = $("#site\\[1\\]").val();
您缺少一个
$
符号。您需要使用$(“#site[1]”)的父项。attr(“value”)
例如:
$("#parent").find("#site[1]").val();
如果没有看到您的查询
#站点[1]
,我不确定您是否知道[]的含义
这意味着您正在寻找一个具有站点
id、名为1
???的属性的html节点,如果您知道提供JSFIDLE是非常困难的DEMO@downvoter-为什么被否决?这很有效。不是吗?请评论。事实上,当我们使用[]时,除了你,这里没有人意识到真正的问题
在我们的查询中,这意味着您正在查找一个属性,在这里添加“\\”将阻止jquery查找fot属性。这给了我一个未处理的例外。我不知道为什么45分钟前这个方法不起作用,但现在它起作用了。但现在确实起作用了,谢谢。@user3064073-很高兴它起作用。我用更新的演示更新了我的答案。在最初的演示中,$
符号丢失。我尝试过,$(此)
,$(“#formname”)
,$(“#tablename”)
作为父级,但都没有成功。