2010-03-18 64 views
4

如何从select元素返回null而不是'undefined'。如何从select元素返回'null'而不是'undefined'

基本上我现在有4个选择,但是现在只有第一个填充了数据,但是我想在使用它们时从它们中获取所有值。

<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"); 

在这种情况下,drpTwo将返回 '未定义'。反正有没有得到一个null?

回答

8

使用or运营商||

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

只是好奇,不会在分配真值呢?谢谢 – 2010-03-18 10:04:02

+0

不,Javascript很奇怪,但是很酷。 'x = null || 3; x == 3','x = 2 || 3; x == 2' – nickf 2010-03-18 10:09:05

+0

不,在JS中它会返回第一个语句的结果,如果它不是null/undefined(我现在还记不起来)或者第二个语句的值。 – Crozin 2010-03-18 10:10:35