2010-11-22 6 views
4
<select id="selTest"> 
    <option custom="123" value="abc">111</option> 
    <option custom="456" value="def">222</option> 
<select> 

... en utilisant jQuery, comment puis-je option.custom où option.value = selTest.val()obtenir une valeur de balise personnalisée en utilisant jquery

en d'autres termes: si selTest.val = def, alors $ x = 456 (je suis en train d'obtenir la valeur de mesure en $ x)

+0

Je laisse tomber l'attribut personnalisé non-validation en faveur de quelque chose comme '.data()' – Stephen

Répondre

6

Essayez ceci:

var selectedCustomValue = $("select#selTest option:selected").attr("custom"); 
0
var selectElement = $("#selTest")[0]; 
alert(selectElement.options[selectElement.selectedIndex].getAttribute("custom")); 
+0

Pourquoi ne pas aller tout le chemin et utiliser 'document.getElementById (« selText »)' au lieu de '$ ('# selTest') [0]' quand vous n'utilisez pas jQuery sur la deuxième ligne? :) –

+0

@Simen Echolt .... Bon point ... parfaitement valide ... mais Tim S a la bonne approche –

0

Effectuez les opérations suivantes

$('#selTest').change(function() { 
    var value = $(this).val(); 
    var custom = $('option[value="' + value +'"]').attr('custom'); 
    ... 
}); 
Questions connexes