尝试在ajax请求后获取隐藏值

时间:2011-05-03 09:50:00

标签: jquery ajax json return-value

在加载ajax请求后,我试图获取一个包含json的隐藏表单值...

奇怪的是,jquery看到了刚刚通过ajax加载的隐藏值...但它无法获取值:

if ($("#json_nav").length) { 

alert('element is there!');

 var j = $("#json_nav").val();

alert(j);   //is empty

}

我的#json_nav如下:

<input type='hidden' id='json_nav' value='{"c_type":3,"c1":"1","c2":"617","c3":"769"}'/>

我的代码正在处理没有ajax请求....我已经确认隐藏值是在ajax请求中返回的......但是无法获得值...

1 个答案:

答案 0 :(得分:2)

我的猜测是你在页面上有一个不同的元素id“json_nav”,所以你要检索第一个的值,而不是新值。

这是我的意思的一个例子:

<div id='theText'>A div with the id "theText"</div>
<input type='text' id='theText' value='a field with the id "theText"'>

Live copy

这是无效的(id值必须是唯一的),但这是一个容易犯的错误。当您通过ID查找内容时,浏览器通常会为您提供第一个浏览器,但当然无法确定浏览器是否可以使用无效文档自由地执行操作。