2010-08-27 38 views
7

Tôi cố gắng để nghiên cứu các lớp jquery, nhưng tôi có một thời gian khó gỡ lỗi một đối tượng bởi vì tôi không thể nhìn thấy các yếu tố bên trong của nólàm thế nào để cảnh báo javascript đối tượng

$("#birds").autocomplete({ 
      source: "search.php", 
      select: function(event, ui) { 
      alert(ui); 

      } 
     }); 

nó sẽ trả về [đối tượng Object] .. :(câu hỏi của tôi là làm thế nào tôi có thể cảnh báo các đối tượng để tôi có thể nhìn thấy nguyên tố này?

Trả lời

16

tôi khuyên bạn nên sử dụng FireBug for debugging javascript. sau đó bạn chỉ có thể làm

console.log(ui) 

và nó sẽ ghi lại các đối tượng dưới dạng bạn có thể mở rộng

+0

thx scott .. vĩ đại ^^ – mapet

+3

@scott Làm thế nào để làm điều đó với Chrome? –

2

bạn cũng có thể thử phương pháp Java Script:

// Alert javascript object in alert box 
    function alertObject(obj){  
     for(var key in obj) { 
     alert('key: ' + key + '\n' + 'value: ' + obj[key]); 
     if(typeof obj[key] === 'object') { 
      alertObject(obj[key]); 
     } 
     } 
    } 

đây 'obj' là:

// your object var 
var getObject = {}; 

// object set with key an val 
getObject.swfVersionStr = '10.0'; 
getObject.xiSwfUrlStr = null; 
getObject.flashvarsObj = {}; 
getObject.parObj = {allowfullscreen: "true",wmode: "window",menu: "false"}; 

Gọi như thế này:

alertObject(getObject); 

Vì vậy, đơn giản ..:)

+0

cảm ơn singh, đây là cách tốt nhất để hiển thị đối tượng trong cảnh báo. có rất nhiều tình huống khi bạn không muốn sử dụng console.log hoặc không có sẵn. Tuyệt quá! – khunshan

1

Nếu bạn đang sử dụng Firefox thì bạn có thể cảnh báo giá trị đối tượng như bên dưới mã

alert(object.toSource()); // for you alert(ul.toSource()); 

Mã trên đây có hiệu quả đối với tôi.

0

Chỉ cần chuyển đối tượng của bạn thành đối tượng JSON sử dụng stringfy. alert(JSON.stringify(yourObjectVariable));

đơn giản như chiếc bánh :)

Các vấn đề liên quan