繁体   English   中英

jQuery $ .attr()问题(选择)(下拉列表)

[英]jQuery $.attr() issue with select (drop-downs)

看起来很简单,但是却无法正常工作。

我试图从动态生成的<option>获取一些自定义数据属性。

选项生成正确,语法正确:

<option value="xml/airports/africa.xml" data-pos="5" data-airport="Noumérat - Moufdi Zakaria Airport">Noumérat - Moufdi Zakaria Airport</option>

但是,当我尝试对这些值进行控制台记录时,我总是变得undefined

它的脚本看似简单且简短:

$(document).ready(function() {
    var sel = $('select');  //its the only select on the page
sel.change(function() {
            //some variations I have tried:
          var n = sel.attr('data-airport');
          var f = sel.val());         //****this is pulling fine
          var i = sel.attr('data-pos');
          console.log(n, i);
          console.log(sel.attr('data-pos');
          console.log($(this).attr('data-pos');
          console.log($('select').attr('data-pos');
})
})

我已经完成了Google的强制性搜索,但无济于事。。。

属性分配给option元素,而不分配给select元素。 在您的情况下,您试图从select元素sel获取属性值。

相反,您需要从select元素中找到选定的选项。

它应该是

var opt = sel.find('option:selected')

var i = opt.attr('data-pos');
console.log(opt.data('pos');
console.log(opt.attr('data-pos');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM