2017-02-10 15 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; 
      } 



     }); 

Я пытаюсь получить все выберите коробки с EXACT именем соответствия класса.

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

1) выше строка коды получить все полей выбор, которые начинаются с согласующим классом

2) pnum представляет собой целое значение, я попытался преобразовать его в строку, но все тот же вопрос

3) предположим, что есть классы класса = «1» и класс = '10' выбирающий оба из них, которые он не должен

4) Я пытался заменить выше строки кода с

$('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(){ 

Во всяком случае, я думаю, что проблемы есть переменная pnum, если это позволяет сказать, что 1 - это будет выбрать все классы, начиная с 1 beacouse вы сказали, так что в определении:

$('select[class^=

которая лечит все классы, начиная с определенным словом (^ полукокса)

Двигаясь дальше, вы можете определять переменные классы хранения имен перед циклом:

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

 Смежные вопросы

  • Нет связанных вопросов^_^