Печать значений объекта в jquery
У меня есть код, который получает значения из сетки. Вместо того, чтобы печатать значения, сетка печатает данные в формате ниже объекта. Как печатать значения?
[object Object], [object Object], [object Object], [object Object], [object Object]
КОД:
$(document).ready(function () {
$("#check").click(function(){
var rows = $('#jqxgrid').jqxGrid('getrows');
alert(rows);
});
});
Ответы
Ответ 1
Простым способом является использование
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}'
Ответ 2
Чтобы напечатать значение объектов в JQuery, вы можете создать новый массив со значениями и напечатать его:
var array = $.map(object, function(value){
return value;
})
Ответ 3
Grid getrows возвращает массив строк. Чтобы получить первую строку: var row = rows [0]. Чтобы использовать вторую строку: var row2 = rows [1] и т.д.
Чтобы получить значение ячейки "fname" из первой строки, вы можете сделать это:
var rows = $("#grid").jqxGrid('getrows');
var firstRow = rows[0];
var fnameValue = firstRow.fname;
Ответ 4
Получите помощь от 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)