在jquery中打印对象的值

时间:2012-10-13 22:56:50

标签: javascript jquery

我有以下代码从网格中获取值。网格不是打印值,而是以下面的对象格式打印数据。如何打印价值?

[object Object], [object Object], [object Object], [object Object], [object Object]

代码:

$(document).ready(function () {
    $("#check").click(function(){
        var rows = $('#jqxgrid').jqxGrid('getrows');
        alert(rows);
    });
});        

3 个答案:

答案 0 :(得分:48)

一种简单的方法是使用

JSON.stringify(rows)

alert(JSON.stringify(rows))

否则,您需要手动遍历对象的属性并相应地打印它们。提供有关输入和所需输出的更多详细信息。

交互式Node.js中的一个例子:

> x = { 1: 2, 3:4 };
{ '1': 2, '3': 4 }

> x.toString();
'[object Object]'

> JSON.stringify(x)
'{"1":2,"3":4}'

答案 1 :(得分:0)

Grid的getrows返回一个行数组。获取第一行:var row = rows [0]。要获得第二行使用:var row2 = rows [1],依此类推。

要从第一行获取'fname'单元格值,您可以执行以下操作:

var rows = $("#grid").jqxGrid('getrows');
var firstRow = rows[0];
var fnameValue = firstRow.fname;

答案 2 :(得分:0)

从stackoverflow获得帮助,包括以下jquery函数:

   The result will be equivalent to the PHP function print_r.
   echo '<pre>' . print_r($data) . '</pre>';

   USAGE: 
   var data = [{'id':1,'name':'hello'},'world'];
   $('#element').print_r(data);

//==========================================
(function($) {

    $.fn.print_r = $.fn.print = function(variable){
        return this.each(function(){
        if(typeof variable == 'object'){
            var string = $.print_r.objectToString(variable,0);
            $(this).html(string);
        } else {
            $(this).html('<pre>'+variable.toString()+'</pre>');
        }
    });

    }

    $.print_r = {
            objectToString : function (variable,i){
              var string = '';
              if(typeof variable == 'object' && i < 3){ // 3 is to prevent endless recursion, set higher for more depth
                  string += 'Object ( <ul style="list-style:none;">';
                  var key;
                  for(key in variable) {
                      if (variable.hasOwnProperty(key)) {
                        string += '<li>['+key+'] => ';
                        string += $.print_r.objectToString(variable[key],i+1);
                        string += '</li>';
                      }
                  }
                  string += '</ul> )';
              } else {
                  string = variable.toString();
              }
              return string;
        }
    }

})(jQuery)