2012-05-18 82 views
0

我有一個從有許多選擇標記,當用戶提交我要檢查,如果用戶選擇所有的選擇標記一個選項的形式,這是我的jQuery代碼的jQuery的selectedIndex不起作用

$('#apForm select').each(function(){ 
      var $this = $(this); 
      if ($this.selectedIndex == 0){ 
       var error = 'fill this please' ; 
       $this.next('span').text(error); 
       errorCount = errorCount + 1; 
      } 
     }); 

我試圖像這樣

$this.attr("selectedIndex") 

我只是給你一塊我的代碼在我的問題是,如果 我應該給更多的代碼,告訴我

謝謝大家幫忙

+0

@mgraph現在工程:) –

回答

3
var $this = $(this); 
if($this.get(0).selectedIndex == 0) { 

} 

或只是簡單的

this.selectedIndex; // not $this/$(this) 

如果沒有option它將返回-1

here I showed all above cases

+0

我已經嘗試過這一點,檢查問題 –

+0

有你的代碼一定的差異。再檢查一遍。 – Th0rndike

+1

或直接使用'this.selectedIndex'。 –

3

這this.selectedIndex,而不是$ this.selectedIndex :)

  • 這是HTMLDomElement
  • $這是jQuery對象
+0

但是$這和這個是一樣的,因爲我寫了var $ this =(this),我是對還是不對? –

+1

@williamkinaan你寫了$ this = $(this); –

+0

OH雖然它是相同的,無論如何你的代碼工作,但我仍然有一個問題,並非我所有的選擇標籤至少有一個選項,有一些選擇標籤沒有任何選項,所以我怎麼能打印錯誤消息,如果在選擇中沒有選項? –

0

如果使用1.6以上版本的jQuery?那麼你可以使用

if ($this.prop('selectedindex') == 0){ /* handle */ } 
+0

它仍然deson't工:( –