首页 新闻 搜索 专区 学院

Javascript:使用Javascript把一个json对象保存到一个元素中,读取的时候怎么读取不到呢?

0
悬赏园豆:10 [已解决问题] 解决于 2014-11-14 19:55

html文档中有一个hidden元素:

<input type="hidden" id="User" value="">

 

然后使用Javascript代码将一个Json对象保存到了hidden元素中:

var  user = {Id:"01", Name: "LI Ming"};
var  userNode = $("#User");
userNode.val(user);

 

接着在另一个地方读取:

var  userNode = $("#User");
var id = userNode.Id;
var name = userNode.Name;

结果变量id和name都是undefind,这样做为什么取不到值呢?谢谢。

sikla的主页 sikla | 初学一级 | 园豆:27
提问于:2014-11-14 17:18
< >
分享
最佳答案
0

貌似val()方法设置的值会自动转成字符串,所以本例中用userNode.val()返回的值会是"[object Object]",取不到id和name。

要设置对象的话,可以使用data()方法:

userNode.data(user);

取值用var user = userNode.data();

收获园豆:10
see_blue_sea | 菜鸟二级 |园豆:212 | 2014-11-14 18:14

用.data方法我做到了,谢谢你。

 

sikla | 园豆:27 (初学一级) | 2014-11-14 19:54
其他回答(2)
0

userNode是jQuery对象。不是dom对象,你要用userNode.val()这样来得到值

Giant Liu | 园豆:888 (小虾三级) | 2014-11-14 17:24
0

var  userNode = $("#User");
userNode.val(user); 这样赋值是没用的,你可把隐藏域取消,看看,到底是附上了什么值

jerry128 | 园豆:31 (初学一级) | 2014-11-14 17:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册