Jquery为隐藏的输入值附加Json数据

时间:2014-01-25 04:28:05

标签: jquery json

我以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}]

不确定为什么我收到未定义的警告信息。让我检查一下。

3 个答案:

答案 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)

JSFiddle

$(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);
            }