2017-02-10 292 views
0

所有下拉菜單下面是我的代碼JQuery的選擇與精確匹配類

$('select[class^="' +pnum+ '"]').each(function(){ 

      // Get price and prefix of each attributes 
      var PricePrefix = AttributesAll[$(this).attr('class')] 
      var PricePrefixSplit = PricePrefix.split("-with-"); 


      var AttPrice = parseFloat(PricePrefixSplit[0]); 
      var AttPrefix = PricePrefixSplit[1]; 

      attributes_price = parseFloat(attributes_price); 

      // Formulas for calculating attribute prices 
      if (AttPrefix == '+') { 
      attributes_price = attributes_price+AttPrice; 
      } else if (AttPrefix == '%'){ 
      attributes_price = attributes_price * (1+(0.01*AttPrice)); 
      } else { 
      attributes_price = attributes_price-AttPrice; 
      } 



     }); 

我試圖讓所有精確匹配的類名的選擇框。

$('select[class^="' +pnum+ '"]').each(function(){ 

1)上面的代碼行獲取與匹配的類

2)pnum啓動所有選擇框是一個整數值,我試圖把它轉換成字符串,但還是同樣的問題

3)假設有類的類=「1」和class = '10' 它提取兩者它不應

4)我試圖與

01,以取代上面的代碼線
$('select[class="' +pnum+ '"]').each(function(){ 

這樣做仍然不起作用

任何幫助將非常感激

+0

'$(「選擇[CLASS =「」 + PNUM +「」]」)'應該工作,你可以看到錯誤控制檯? – guradio

+0

@guradio我在控制檯seesing此警告 使用getPreventDefault的()已過時。改爲使用defaultPrevented。在jQuery 1.6.2中 –

回答

0

指定整數的一類聽起來不像是個好主意。除非你有一個特定的整數的CSS。如果您使用它純粹物色對象,你可以使用自定義選擇像

<select data-selector="1"> 
<option value="as">1st option</option> 
</select> 

和檢索,你可以遵循什麼穆罕默德建議,或者您可以使用以下

alert($('select[data-selector="1"]').val()) 

希望幫助。

0

一般來說,這是不是指定類的號碼,嘗試添加一些僞字一個好主意:

$('select[class^="el' +pnum+ '"]').each(function(){ 

反正我覺得問題是你PNUM變量,如果它可以說1 - 它會選擇所有類從1開始beacouse您在定義這樣說的:

$('select[class^=

它把開始與定義的詞(了^字符)

的所有類

的進一步深入,你可以在循環之前定義變量的存儲類別名稱:

var elem = "el" + pnum; 
$('select[class="'+elem+'"').each(function(){