我以json格式获取数据
{"a":null,"b":1001}
我隐藏了字段
<input type="hidden" name="test" >
现在我需要在页面加载时将字段测试的值设置为1001。使用jquery,我能够在json中获取值,但由于某种原因没有得到如何将1001设置为隐藏字段的值。
更新信息。
以下是使用
的功能$.get( "getjobscategoryid", {subcategory:data} )
.done(function(json ) {
alert( "Data Loaded: " + json);
$('input[name=subcategoryid]').val(json.jobscategoryid);
alert(json.jobscategoryid);
});
数据是我在页面加载后捕获文本后传递的变量。捕获文本后,我将其传递给jquery get调用,我可以看到值完全恢复。
我将数据设为Data Loaded:[{"jobscategory":null,"jobscategoryid":1001}]
不确定为什么我收到未定义的警告信息。让我检查一下。
答案 0 :(得分:3)
不确定为什么我会收到未定义的警告信息。
因为json
是字符串,而字符串没有jobscategoryid
属性。您必须首先将JSON解析为到对象/数组中。
$.get( "getjobscategoryid", {subcategory:data} ).done(function(json ) {
var = $.parseJSON(json);
$('input[name=subcategoryid]').val(data[0].jobscategoryid);
});
另见Access / process (nested) objects, arrays or JSON
我如何知道json
是您可能会问的字符串?因为
alert( "Data Loaded: " + json);
给你
Data Loaded:[{"jobscategory":null,"jobscategoryid":1001}]
如果 json
是一个对象或数组,您将获得
Data Loaded: [object Object]
作为输出,因为对象的默认字符串表示形式为[object Object]
。
答案 1 :(得分:1)
$(document).ready(function() {
var jsonValue = { "a": null, "b": 1001 };
$('input[name=test]').val(jsonValue['b']);
});
答案 2 :(得分:0)
此查询非常完整。
//returns {"exists":1} 0-open,1-already exist
var obj = jQuery.parseJSON( JSON.stringify(res) );
if(obj.id){
//$("#Language").html(obj.id);
$('input[name=Language]').val(obj.id);
}