我有一个网页,用户在一个文本框中输入一个数字,然后在一个表格中创建该行数,每行中的文本框的id为“id [I]”,其中I是数字从for循环中分配用于添加文本框。在表单提交我试图获得这些文本框的价值。这是我的表单提交代码来测试。
$("#biopsyform").submit(function () {
var site = $("#site[1]").attr("value");
alert(site);
});
当我提交表单时,我会收到undefined
我试过说var site = $("#site[1]#).val();
并得到相同的结果。
当我在警报之前中断时,在javascript调试器中使用chrome开发人员工具时,它会显示$("#site[1]")
的正确值,所以我不太清楚发生了什么。
非常感谢任何帮助。
这是jsfiddle当我提交时,我在jsfiddle中收到错误,我不知道为什么,我从未使用过jsfiddle。它可能是我问题的一部分,可能是当我把东西复制到jsfiddle时,我不知道。
答案 0 :(得分:1)
尝试使用[
]
和\\
var site = $("#site\\[1\\]").attr("value");
or
var site = $("#site\\[1\\]").val();
<强> FIDDLE DEMO 强>
您错过了$
标志。
答案 1 :(得分:-2)
您需要使用$(“#site [1]”)的父级.attr(“value”);
示例:
$("#parent").find("#site[1]").val();
或其任何变化。