[英]jQuery - Check drop-downs <select> for multiple values and for any changes
[英]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.