<select id="Nazione" name="Nazione">
<option prefix='+93' value='AF' >Afghanistan </option>
<option prefix='+355' value='AL' >Albania </option>
<option prefix='+213' value='DZ' >Algeria </option>
<option prefix='+376' value='AD' >Andorra .... etc
</select>
和这个js
$(document).ready(function() {
$('#Nazione').change(function(){
alert( $(this).find("option:selected").attr('prefix') );
alert( $(this).attr('prefix') );
});
});
我有警告NULL ... 为什么呢?
答案 0 :(得分:10)
你的代码很好。这是一个演示:http://jsfiddle.net/hKktc/1/
您没有获得第二次提醒呼叫的值的原因是因为prefix
的{{1}}属性不存在,而select
仅存在
答案 1 :(得分:4)
在您的代码中,$(this)
是指<select>
,而不是选项。 prefix
<select>
属性
这将导致第二个示例出现问题。
答案 2 :(得分:4)
第二个alert
将返回null,因为<select>
没有属性prefix
。
答案 3 :(得分:1)
你到底在期待什么?
我发现第二个警告 - alert( $(this).attr('prefix') );
是导致问题的警报。
您可以获得前缀编号的警报,然后获得null警报(由第二个警报引起)。
答案 4 :(得分:0)
您可能希望.val()
而不是.attr('prefix')
,以获得<select>
的选定值。
$(document).ready(function() {
$('#Nazione').change(function(){
alert( $(this).find("option:selected").attr('prefix') );
alert( $(this).val('prefix') );
});
});