2015-12-04 36 views
0

我有一個下拉列表,並填充了動態數據。這裏我使用了一個函數來調用ajax並獲取動態數據。我如何正確使用這個jquery函數?

這是我創建這個函數:

function Banks($selecter, selected) { 

// my stuff ---- 

} 

我使用它像這樣當文件準備:

Banks($('#DropDownEdit')); 

HTML看起來像這樣:

<select id="DropDownEdit" name="bank_one" data-id="4"></select> 

現在當文檔準備就緒時,我需要獲得data-id的值。

我想它是這樣的:

$(document).on('change', '#DropDownEdit', function(){ 
    var ID  = $(this).data('id'); 
    Banks($('#DropDownEdit'), ID); 

}); 

,但它不爲我工作。任何人都可以告訴我我是如何做到這一點的?

+2

究竟是什麼不起作用?請在你的問題中提供更多細節。 –

回答

0

試試這個。

$(document).ready(function(){ 
    var ID = $('#DropDownEdit').data('id'); 
}) 
+0

$()是在JQuery中相同$(文件)。就緒,嘗試優化Jquery的如果給出答覆例如'$(函數(){ VAR ID = $( '#DropDownEdit')。數據('編號「);} )' – hjardine

+0

有關於它的一些好的文檔瀏覽:https://learn.jquery.com/using-jquery-core/document-ready/ – hjardine

+0

@hjardine我不知道,但它也說,有些事情更多。這就是「經驗豐富的開發人員有時使用$(document).ready()的簡寫$()。如果您正在編寫的代碼對那些對jQuery沒有經驗的人可能會看到,那麼最好使用長格式。」 –

0

嘗試FIDDLE

我已經更新了事件委派分配如下,它工作

function Banks($selecter, selected) { 
    //alert(selected); 
    $selecter.append('<option>1</option><option>2</option><option>3</option><option>4</option>') 
    // my stuff ---- 

} 

$(function() { 
    Banks($('#DropDownEdit'), $('#DropDownEdit').data('id')); 
    $('#DropDownEdit').on('change', function() { 
    var ID = $(this).data('id'); 
    alert(ID); 
    Banks($('#DropDownEdit'), ID); 
    }); 
}); 

希望它爲你工作

1

HTML標記似乎都錯了。空select標籤是不是一個有效的標記和onchage從不觸發一個空selectselect標籤裏面必須至少有一個option

<select id="DropDownEdit" name="bank_one" data-id="4"> 
    <option value="one">1</option> 
    <option value="two">2</option> 
    <option value="three">3</option> 
</select> 
0

你需要得到的值數據-ID的功能時,文件已準備就緒。

嘗試使用$(文件)。就緒();

$(document).**ready**(function(){ var ID = $('#DropDownEdit').data('id'); Banks($('#DropDownEdit'), ID); });

希望這有助於。

+0

哦,對不起,重複的答案。 –