2011-09-19 84 views
0

我想从隐藏字段中检索值。这段代码和jquery 1.4.2一起工作良好,但由于我们升级到1.6.1或1.6.4,它只是返回一个空字符串。Jquery 1.6.1 .val()问题

这里是正在使用检索数据的JSP代码:

var selected = "Doing My Job" 
var selectedField= "input:hidden[name="+selected+"_node_id]"; 
var selectedId= $(selectedField).val(); 

这是元素本身的HTML

<input type="hidden" value="2" name="Doing My Job_node_id"> 

所以我想selectedId为2,但相反,我越来越“”

任何帮助将不胜感激。

+0

确定'selected'被带回正确的值的价值? 尝试将输出放入警报中以确保正确。 –

+0

无法重现:http://jsfiddle.net/pjdJH/只要可以确定,您应该将该属性放在引号中(它们是强制性的)。 –

+0

我已经提醒了选中的值,并且我得到了正确的值,再次在1.4.2中工作,但是在1.6.1和1.6.4中尝试,并且它没有。 @Felix Kling,不能理解它是如何为你工作的,我试过你的链接,它也适用于我在那里 – Kaskade

回答

3

从理论上讲,名字应该被引用:

var selectedField= 'input:hidden[name="'+selected+'_node_id"]'; 

编辑:不管结果如何,这似乎并没有影响到最终的结果。你应该用你的浏览器的开发工具来检查两个selectedField选择的内容和$(selectedField)对象,例如:

console.log(selectedField, $(selectedField)); 
+0

你是对的,但代码似乎没有他们的工作:http://jsfiddle.net/pjdJH/ –

+0

@Felix:真的,错误必须在别的地方。 –

+0

改变放在报价工作staright了,不明白为什么它在费利克斯克林斯链接虽然 – Kaskade