2017-02-10 133 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(){