显示 "undefined" 的动态字段 JS 值
Dynamic fields JS value showing "undefined"
下面很简单HTML:
<input type="text" class="form-control" id="user[0].first_name" name="user[0].first_name" placeholder="First Name">
这是 JS:
emailIndex = 0;
for (var i = 0; i <= emailIndex; i++) {
data["user[" + i + "].first_name"] = $("#user[" + i + "].first_name").val();
}
如果我尝试打印 ID user[0].first_name returns: undefined
怎么了?
谢谢!
在上面的代码中,#user[" + i + "].first_name
执行后会是#user[0].first_name
在这里,jquery
不会像 id = user[0].first_name
那样检查
但它会将其视为 id = user[0]
和 class = first_name
所以,您在 jquery 中不会得到正确的结果,但您可以在 javascript
中得到正确的结果
DEMO
在Javascript中,不能给id="user[0].first_name".
相反,尝试使用 jQuery 创建 'input' 元素,基于像
这样的用户数量
$.each(users, function(index, user){
$(body).append('<input id="'+user.first_name+'"></input>');
});
或
$(body).append('<input id="'+user[0].first_name+'"></input>');
现在
你可以通过你写的JS代码得到它的val()
这有效!
for (var i = 0; i <= emailIndex; i++) {
alert($('#user_'+i.toString()+'_first_name').val());
}
我们需要先将整数转换为字符串。
也不要忘记从 id 中取出点运算符(参见 Nagesh 的回答)
编码愉快。
下面很简单HTML:
<input type="text" class="form-control" id="user[0].first_name" name="user[0].first_name" placeholder="First Name">
这是 JS:
emailIndex = 0;
for (var i = 0; i <= emailIndex; i++) {
data["user[" + i + "].first_name"] = $("#user[" + i + "].first_name").val();
}
如果我尝试打印 ID user[0].first_name returns: undefined
怎么了?
谢谢!
在上面的代码中,#user[" + i + "].first_name
执行后会是#user[0].first_name
在这里,jquery
不会像 id = user[0].first_name
但它会将其视为 id = user[0]
和 class = first_name
所以,您在 jquery 中不会得到正确的结果,但您可以在 javascript
中得到正确的结果DEMO
在Javascript中,不能给id="user[0].first_name".
相反,尝试使用 jQuery 创建 'input' 元素,基于像
这样的用户数量$.each(users, function(index, user){
$(body).append('<input id="'+user.first_name+'"></input>');
});
或
$(body).append('<input id="'+user[0].first_name+'"></input>');
现在
你可以通过你写的JS代码得到它的val()
这有效!
for (var i = 0; i <= emailIndex; i++) {
alert($('#user_'+i.toString()+'_first_name').val());
}
我们需要先将整数转换为字符串。 也不要忘记从 id 中取出点运算符(参见 Nagesh 的回答)
编码愉快。