2014-10-01 121 views
0

我有一個小的Ajax調用:的jQuery選擇添加額外的行

$.ajax({ 
      type:'POST', 
      dataType: 'json', 
      url: 'inc/getfunctions.php?q='+l_id+'&func=load_po', 
      success:function(data){ 
       //alert ('hi'); 
       if (data.po_num) { 
       $('#po_num_s').append($('<option>').text('Select a PO').attr('value', 0)); 
       var po_num = data.po_num; 
       var $subType = $("#po_num_s"); 
       $.each(data, function() { 
        $subType.append($('<option></option>').attr("value", data.l_id).text(data.po_num)); 
       }); 
       } 
      } 
      }); 

它apending 2行:提前

<'option value="11">112212<'/option>

<'option value="11">112212<'/option>

是輸出 謝謝

+3

什麼是問題? – 2014-10-01 19:33:14

+0

我只想要1選擇,它只在數據庫中一次 – 2014-10-01 19:35:04

+2

您是否嘗試過沒有.each功能? – adanot 2014-10-01 19:35:16

回答

0

$ .each func它將採用數組或對象並迭代其項目,同時將項目鍵和值作爲參數提供給回調。像這樣:

$.each(["aaaa", "bb", "ccc"], function(key, value){ 
    console.log(value.length); 
}); 

// Will output: 
// 4 
// 2 
// 3 

但是你沒有使用每個循環的東西有用,因爲你沒有收到回調函數中的任何項目。你得到2行的唯一原因是你的data對象只有2個鍵。嘗試在同一地點將另一屬性data爲您的評論警告,就像這樣:

...... 
success:function(data){ 
    //alert ('hi'); 
    data.foo = "bar" 
    if (data.po_num) { 
...... 

,並觀看各環路去三輪。