这是我的代码
$('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)假设有类class =' 1'和班级=' 10'它取出了两者都不应该
4)我试图用
替换上面的代码行$('select[class="' +pnum+ '"]').each(function(){
这样做仍然无法正常工作
非常感谢任何帮助
答案 0 :(得分:0)
为类指定整数听起来不是一个好主意。除非你有一个特定整数的CSS。如果您使用它来纯粹识别对象,则可以使用自定义选择器,如
<select data-selector="1">
<option value="as">1st option</option>
</select>
对于检索,您可以按照穆罕默德的建议,或者您可以使用以下
alert($('select[data-selector="1"]').val())
希望有所帮助。
答案 1 :(得分:0)
通常,将类指定为数字并不是一个好主意,尝试添加一些伪词:
$('select[class^=
无论如何,我认为问题是你的pnum变量,如果它可以说1 - 它将选择所有以1 beacouse开头的类,你在定义中这样说:
var elem = "el" + pnum;
$('select[class="'+elem+'"').each(function(){
用于处理以定义的单词(^ char)
开头的所有类更进一步,您可以在循环之前定义存储类名称的变量:
{{1}}