2013-03-11 58 views
0

我做了一些產品的選擇清單,我正在使用jquery獲取值問題是我使用的代碼是在jquery 1.7中工作。 2但不工作在jquery 1.9.1。我得到的錯誤是使用了錯誤的語法。獲取選定複選框的值用逗號分隔使用jquery 1.9.1

var output = jQuery.map($(':checkbox[name=vendor\[\]]:checked'), function(n, i){ 
     return n.value; 
}).join(','); 

的HTML格式是

 <p><input type="checkbox" name="vendor[]" value="Event Venue"> 
      <label for="eventvenue">Event Venue</label></p> 
     <p><input type="checkbox" name="vendor[]" value="Decorations & Rentals"> 
      <label for="decorations">Decorations & Rentals</label></p> 
     <p><input type="checkbox" name="vendor[]" value="Florist"> 
      <label for="florist">Florist</label></p> 

回答

1

嘗試

var output = jQuery.map($(':checkbox[name="vendor[]"]:checked'), function(n, i){ 
     return n.value; 
}).join(','); 

演示:Fiddle

+0

感謝您的回答和幫助。它的工作。 :) – 2013-03-11 08:46:54

+1

@johnplayer:舊的反斜線轉義的東西是一個特定於jQuery的東西,它導致了各種各樣的問題,最終被拋棄(正如您發現的那樣)。 Arun的版本是在CSS中執行該選擇器的正確方法(jQuery現在可以正確處理)。 – 2013-03-11 08:48:34

+0

@ T.J.Crowder感謝您解釋答案 – 2013-03-11 08:50:05

0

試試這個

var output = jQuery.map($(':checkbox[name^=vendor]:checked'), function(n, i){ 
     return n.value; 
}).join(','); 
相關問題