<select name="/static/images/legends/default.png" class="legend-icon">
<option class="legend-icon" name="/static/images/legends/icon1.png">option1</option>
<option class="legend-icon" name="/static/images/legends/icon2.png">option2</option>
<option class="legend-icon" name="/static/images/legends/icon3.png">option3</option>
</select>
当组合框的值发生变化时,我想要新选择的'名称'。这有可能吗?如果有,怎么样?我试过这个:
$('select').change(function(e) {
alert(e.delegateTarget.name);
});
这会警告'select'标记的'name'。但我需要'option'标签的名称。有什么帮助吗?
答案 0 :(得分:2)
这是一个解决方案:
$('select').change(function(e) {
console.log($('option:selected', this).attr('name'));
});
答案 1 :(得分:2)
您需要找到所选选项,然后找到其名称属性值
$('select').change(function (e) {
alert($(this).find(':selected').attr('name'));
});
演示:Fiddle
答案 2 :(得分:2)
$('select').change(function(e) {
console.log($(this).find('option:selected').attr('name'));
});
注意:正如@meagar在对您的问题的评论中提到的那样,name
不是option
元素的标准属性。请考虑使用前缀为data-
的自定义属性:
<option class="legend-icon" data-name="/static/images/legends/icon1.png">
option1
</option>