2013-09-22 76 views
0

我遇到了一個問題,我以前的SO問題給出了一個例子 - 它的工作約爲95%,但是order數組顯示爲空,爲什麼?javascript array empty using .push .text

HTML:

<input class="order" value="<?php echo $order; ?>" type="text" /> 

JS:

$('body').on("click", "#brands_by_category_submit_btn", function (e) { 
     e.preventDefault();    
     var self  = $(this); 
     var order  = []; 
     var id   = $("#manID").data("id"); 
     var brand_name = $("#brand_name").data("id"); 
     var data  = grabData(true); 

     $(".order").each(function(){ 
      order.push($(this).text()); 
     }) 

     if(data.length) 
     { 
      var data_array = { 
       id : id, 
       brand_name : brand_name, 
       cat_id  : data, 
       order  : order, 
       state  : 1 
      }; 
+0

噓,用於解釋' – Ryan

回答

2

.text()返回節點的文本內容,如<p>this text here</p><input />元素沒有文本內容,因此$('input').text()只會返回一個空字符串。您的order數組應該是一個空字符串數組。也許你想提取的價值? ( 「訂單」):

$(".order").each(function(){ 
      order.push($(this).val()); 
}); 
+0

+1;'變種秩序= $地圖(函數(){$返回(本).VAL();})得到()。區別。 – 2013-09-22 20:16:07

1

如何:

order.push($(this).val());