下面是代码,该程序分为两个主要部分。 一个对每个Select元素和另一个元素执行操作 在这个\每个选择和这一个中的所有选项元素 不起作用,因为它应该为每个选择选项文本值附加价格“[+ $ 00]”, 禁止当前选择的一个。标记的代码段不起作用。 使用1.5.1,1.5.2工作正常,并且从1.6
开始不起作用 // ===== CODE DOES NOT WORK FROM HERE WITH 1.6.4============
$(this).find('option').each(function () {
//$(this).append('<span></span>');
var uov = parseInt($(this).attr('value')) || 0; //Unselected option value
var uop; //Unselected Option Price
for (d = 0; d <= data.length; d++) {
if (data[d].partid == uov) {
uop = data[d].price;
break;
}
}
//debugger;
var pricediff = Math.abs(uop - sop);
var xtext = $(this).text();
if (xtext.match(/\✔/) != null) {
var temp = xtext.replace(/✔/g, '');
xtext = temp;
}
if (xtext.match(/\[.*\]/) != null) {
var temp = xtext.split('[')[0];
var temp2 = xtext.split(']')[1];
xtext = temp2;
}
if (uov != 0) {
if (pricediff != 0) {
var diff = '[' + (sop > uop ? '-' : '+') + '$' + pricediff + ']';
$(this).attr("text", diff + " " + xtext);
}
else {
$(this).attr("text", " ✔ " + " " + xtext);
}
}
//=============== TO HERE ========================
答案 0 :(得分:0)
不要使用:
$(this).attr('value')
获取表单字段的值。使用:
$(this).val()
当我们更改框架的jQuery版本时,这给我们的客户端开发人员带来了许多麻烦。
---编辑---
你当然不应该尝试使用attr()函数编辑元素的文本,如下所示:
$(this).attr("text", diff + " " + xtext);
您应该使用:
$(this).text(diff + " " + xtext);