2017-02-10 17 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」が存在すると仮定し、クラス= '10' は、それが

4)私は

01と上記のコード行を交換しようとしているべきではないそれらの両方をフェッチ
$('select[class="' +pnum+ '"]').each(function(){ 

すべてのヘルプははるかに良いアイデアのように聞こえていないクラスに整数を指定

+0

'$(「を選択し、[クラス=「」+ PNUM +「」]」)'動作するはずですが、あなたがコンソールにエラーを見ることができますか? – guradio

+0

@guradioコンソールでこの警告が表示されています 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(){ 

とにかく、私は1を言うことができますだ場合の問題は、あなたのPNUM変数だと思う - それは意志

$('select[class^=

定義された単語(^文字)

で始まるすべてのクラスを扱います:あなたが定義の中でそう言っbeacouse 1で始まるすべてのクラスを選択します

はあなたがループする前に、変数の記憶クラス名を定義することができ、さらに行く:

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