2011-04-17 150 views
0

我有一個選擇字段,當選擇按鈕#btnaddtocart我希望能夠檢查選擇(名稱=數量)isnt null,如果它是然後警報是向用戶顯示。否則不顯示任何東西。該腳本的作品,但問題是,如果選擇確實包含一個值仍然顯示警報。爲什麼是這樣?如何檢查是否選擇字段

下面是HTML

<select class="select" id="quantity" name="quantity"> 
<option selected="selected" value="">select one</option> 
<option value="data1">data1</option> 
<option value="data2">data2</option> 
<option value="data3">data3</option> 
</select> 

這裏是JS

$(document).ready(function() { 

    $("#btnaddcart").click(function() 
    { 

     if($("input[name=quantity]").val() == null) 
      { 
       var data = $(this).val(); 
       alert(data); 
      } 
     }); 
}); 

回答

0

你檢查錯誤的事情,這樣的:

if($("input[name=quantity]").val() == null) 

應該是這樣的:

if($('#quantity').val() == '') 

input[name=...這樣的選擇器查找具有指定的name屬性的<input>標記,但您希望得到<select>元素;由於您的<select>具有id屬性,因此您可以使用ID選擇器。

0

u能做到像

# not selected 
if (!$("#quantity option:selected").length) { 

} 
0

你不需要使用jQuery這一點。在你的例子中,試試這個代碼:

$(document).ready(function() { 
    $("#btnaddcart").click(function(){ 
     var box=document.getElementById('quantity'); 
     var index=box.selectedIndex; 
     // any one selected apart from the first option 
     if(index!=0){ 
      var data=box.options[index].value; 
      alert(data); 
     } 
    }); 
}); 

我真的建議不要使用jQuery,如果你真的需要索引。

上面的一些操作可以寫成簡單的,只是想告訴你如何獲得選擇框的各種屬性。

0
$("#btnaddcart").click(function() 
{ 
    if($("#quantity").val() == '') 
     { 
      alert("cannot be null"); 
     } 
    else{ 
      alert($(this).val()); 
    } 
}); 

jsfiddle