Jquery警告自定义属性的值



有没有人能帮我从下拉元素的属性中显示"code"的值。对不起,我是Jquery的新手。我想提醒阿富汗的值,它应该是93。

<select name="country" id="country" class="requiredInput" tabindex="5">
<option class="no-op" value="">-- Please select --</option>
<option value="977270" code="93">Afghanistan</option>
<option value="977271" code="355">Albania</option>
<option value="977272" code="213">Algeria</option>
<option value="977273" code="1684">American Samoa</option>
<option value="977274" code="376">Andorra</option>
<option value="977275" code="AO">Angola</option>
<option value="977276" code="AI">Anguilla</option>
<option value="977277" code="AQ">Antarctica</option>
<option value="977278" code="AG">Antigua</option></select>

try:

$('#country').change(function(){
    alert($("option:selected", this).attr('code'));
});

@Satpal建议一个更好的&更快的方法,使用.find():

$('#country').change(function(){
    alert($(this).find("option:selected").attr('code'));
});

希望对你有帮助。

JsFiddle

但是,我建议您使用data-前缀属性。像

<option value="977270" data-code="93">Afghanistan</option>

那么你可以使用

alert($(this).find("option:selected").data('code'));

我建议您使用data-*代替,例如:

<option value="977270" data-code="93">Afghanistan</option>

那么你可以这样做:

$('#country').change(function() {
    var code = $(this).find('option:selected').attr('data-code');
    alert(code);
});
<<p> 小提琴演示/strong>

你只需要使用Jquery事件作为::

$("#country").change(function(){
    alert($("#country :selected").attr('data-code'));
})
http://jsfiddle.net/rjha999/6vWWN/

获取所选选项的代码:

var code = $('#country').find(':selected').attr('code');

最好使用自定义data-*属性:

data-code="93"// <----if you can change it like this

那么你可以得到这样的结果:

$('#country').change(function() {
   var codeVal = $(this).find('option:selected').data('code');
   alert(codeVal);  //----use data here----------^^^^
});

data-*

演示

或当前标记:

$('#country').change(function() {
   var codeVal = $(this).find('option:selected').attr('code');
   alert(codeVal);  //----use attr here----------^^^^
});
使用attr
进行演示

最新更新