2011-05-24 112 views
1

我正在尝试基于使用jQuery的<select>元素的值做一个简单的条件语句。这工作得很好:获取jQuery元素值

var WantCategory = document.getElementById('WantCategory').value 
if ((WantCategory <= 0) || (WantCategory >= 4)) { 
    alert('hi') 
} 

这不起作用:

var WantCategory =$('select.WantCategory').val() 
if ((WantCategory <= 0) || (WantCategory >= 4)) { 
    alert('hi') 
} 

下面是HTML部分

<label for="WantCategory">Item Category 
    <select id="WantCategory"> 
     <optgroup label="Group of Options"> 
      <option value="0"></option> 
      <option value="1">Option 1</option> 
      <option value="2">Option 2</option> 
      <option value="3">Option 3</option> 
     </optgroup> 
    </select> 
</label> 
+1

您按类而不是按ID选择。 – SIFE 2011-05-24 23:21:47

回答

6

试试这个:

var WantCategory = $('select#WantCategory').val(); 
if ((WantCategory <= 0) || (WantCategory >= 4)) { 
    alert('hi') 
} 

你的原代码按班级而不是按身份证件选择。

1

VAR VAL = $(#WantCategory).VAL() ID必须是唯一的,所以你不需要标签名

1

如果选择的ID是唯一的(在理想情况下应该是),那么你应该可以这样做:

var WantCategory = $('#WantCategory').val(); 
+0

不是“理想的”,它必须**根据[W3C HTML规范](http://www.w3.org/TR/html401/struct/global.html#adef-id)是唯一的。 :-) – RobG 2011-05-25 02:08:03