使用data-attribute进行动态选择不起作用

时间:2016-06-30 13:14:00

标签: jquery

我有一个空的select元素,其中包含动态添加的option元素。 option元素的attribute名为data-municipality

我在函数中使用此变量,但就好像函数只是“未定义”而不是实际的变量值。

这是我的函数,它设置变量并将其打印到控制台:

  $( "#fromMunicipality" ).change(function() {
    fromMunicipalityCode = $("#fromMunicipality option:selected").data("municipality");
    console.log(fromMunicipalityCode);
  });

这是我正在使用变量fromMunicipalityCode的函数:

$('#fromAddress').dawaautocomplete({
  adgangsadresserOnly: true,
  params: {
    kommunekode: fromMunicipalityCode
  },
  select: function(event, adresse) {
  }
});

当我运行上面的函数时,fromMunicipality未定义,即使控件中的属性发生了变化,或者至少它没有使用函数中的值。

这可能是什么问题?

谢谢!

3 个答案:

答案 0 :(得分:1)

试试这个:

$( "#fromMunicipality").change(function() {
     fromMunicipalityCode = $("#fromMunicipality option:selected").attr("data-municipality");
    console.log(fromMunicipalityCode);
    $('#fromAddress').dawaautocomplete({
          adgangsadresserOnly: true,
         params: {
            kommunekode: fromMunicipalityCode
         },
        select: function(event, adresse) {
    }
  });
});

答案 1 :(得分:0)

dawaautocomplete置于更改事件中:

$( "#fromMunicipality" ).change(function() {
    fromMunicipalityCode = $("#fromMunicipality option:selected").data("municipality");
    console.log(fromMunicipalityCode);
    $('#fromAddress').dawaautocomplete({
      adgangsadresserOnly: true,
      params: {
         kommunekode: fromMunicipalityCode
      },
      select: function(event, adresse) {
      }
   });
});

答案 2 :(得分:0)

我认为这应该如何运作。但昨天我发现有必要像这样编码:

fromMunicipalityCode = $("#fromMunicipality option:selected").attr("data-municipality");

看看它是否适合你。