从动态创建的选择列表中设置var等于所选值

时间:2014-06-19 21:30:50

标签: javascript jquery select option

HTML:我只有一个带有类的选择列表,没有选项。

<select class="myClass"></select>

JS:我使用$ .each()填充选择列表以迭代JSON数组

$.each(value,function(key2, value2){
  if(key2 == 'name'){
      $('.myClass').
      append($("<option></option>").
      attr("data-catid",value['catId']).
      attr("data-catiid",value['catIid']).
      attr("value",key).
      text(value2));
  }
});

如何选择当前选择的选项?

$('.myClass').on(change,funciton(){
  alert($(this+' option:selected').data('catid'));
  alert($('.myClass option:selected').data('catid'));
  alert($('.myClass').is(':selected').data('catid'));
  ??? none of these work
});

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容获取数据:

$('.myClass').on('change', 
                  function(){ 
                     alert($("option:selected", this).data('catid')); 
                  }
              );

此外,如果您使用的是Firebug,则可能需要使用console.log(...)而不是alert(...)(它可以避免侵入和阻止弹出窗口)。

答案 1 :(得分:0)

易:

$('.myClass').on('change', function(){

    var tada = $('option:selected', this).data('catid');

    alert(tada);

});
相关问题