2017-05-09 218 views
0

執行命令的新加載的內容我有一些問題與jQuery。從阿賈克斯jQuery的

<select class='my-select' id='exist_select'></select> 

<div id='target'></div> 

<script> 
$.ajax({ 
    type  : 'GET', 
    url   : "<?php echo site_url().'rekap/get_akun?id_subkom=' ?>"+id_subkom, 
    dataType : 'json', 
    success: function(data){ 
     var select = ''; 
     for (var key in data){ 
      select = '<select class="my-select" id="select'+data[key]+'"></select>'; 
     } 
     $('div#target').html(select); 

     $('.my-select').append($('<option>', { 
      value: 100, 
      text: 'Added option', 
     })) 
    }) 
}) 
</script> 

選擇已成功加載。正如你看到的,我試圖做HTML選擇。然後爲每個選擇手動添加特定選項。 倒黴,這是行不通的。但它適用於#exist_select

我不知道。請幫幫我。

+0

請不要直接從PHP到JavaScript呼應你的SITE_URL()。 考慮使用適當的轉義/編碼。 回波json_encode(SITE_URL()); –

回答

0

首套你的代碼在文檔準備好聲明,第二你的循環只得到第一個元素,你需要使用連接來休息追加,3TH可以直接附加選項中選擇:

$(function(){ 
$.ajax({ 
    type  : 'GET', 
    url   : "<?php echo site_url().'rekap/get_akun?id_subkom=' ?>"+id_subkom, 
    dataType : 'json', 
    success: function(data){ 
     var select = ''; 
     for (var key in data){ 
      select += '<select class="my-select" id="select'+data[key]+'"><option value="100">Added option</option></select>'; 
     } 
     $('div#target').html(select); 
    }) 
}) 

}) 
+0

Thx。我只是意識到我的主要問題是在事件監聽器中。如果我點擊一個按鈕並創建一個事件監聽器,那麼append命令就可以工作。你能給我一些建議嗎? – Ukasyah

0

事件偵聽器只能連接到那些在DOM元素,而不是不當時存在的元素。

對於動態創建的元素,你需要使用.on function

$('body').on('change', '.my-select', function(){ 
    alert('here'); 
}); 
+0

其稱爲事件代表團 – madalinivascu

+0

是的,但是按照問題有關他的問題來改變事件,他是不是能夠找到事件的其他選擇,除了#exist_select –

+0

仍然沒有工作:( – Ukasyah