我如何正确使用这个jquery函数?

时间:2015-12-04 07:23:57

标签: javascript jquery

我有一个下拉列表,其中包含动态数据。在这里,我使用了一个函数来调用ajax并获取动态数据。

这是我创建此功能的方法:

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);

}); 

但它对我不起作用。任何人都可以告诉我我是如何正确地做到这一点的吗?

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

试试这个。

library(dplyr)
bind_rows(lst)

答案 2 :(得分: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);
  });
});

希望它适合你

答案 3 :(得分:0)

  

当文档准备就绪时,您需要为函数获取data-id值。

尝试使用$(document).ready();

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

希望这有帮助。