2010-03-18 3 views
4

Comment puis-je retourner null à la place d'un 'undefined' à partir d'un élément select.Comment retourner 'null' au lieu de 'undefined' à partir de l'élément select

Fondamentalement j'ai 4 sélections pour le moment, mais seulement le premier est rempli avec des données à ce stade, mais je veux attraper la valeur de chacun d'eux en travaillant avec eux.

<select class="changeValue" id="drpOne"></select> 
<option id=1>1</option> 
<option id=2>2</option> 
<option id=3>3</option> 

<select class="changeValue" id="drpTwo"></select> 

JQuery:

$('.changeValue').change(function() { 
    var data = {}; 
    data["Id1"] = $('#drpOne:selected').attr("id"); 
    data["Id2"] = $('#drpTwo:selected').attr("id"); 

Dans ce cas, drpTwo retournera 'undefined'. Y a-t-il de toute façon une nullité à la place?

Répondre

8

Utilisez l'opérateur or||:

data["Id2"] = $('#drpTwo:selected').attr("id") || null; 
+0

curiosité, ne sera pas cette affecter la valeur de la vérité au lieu? Merci –

+0

Non, Javascript est étrange mais cool de cette façon. 'x = null || 3; x == 3', 'x = 2 || 3; x == 2' – nickf

+0

Non, dans JS, il retournera le résultat de la première instruction si ce n'est pas null/indéfini (je ne me souviens pas exactement maintenant) ou la valeur de la seconde. – Crozin

Questions connexes