我有这个代码并运作良好;
$(".campodigitavel").change(function(){
$(".campocalculado").each(function(){
if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo.
lnTotal = $(this).val();
}
// Percorre todos os filhos cujo pai é o atual da iteração
$("[pai=" + $(this).attr("id") + "]").each(function(){
if(this.value != ""){
lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" + parseFloat(this.value));
}
});
$("#" + $(this).attr("target")).val(lnTotal);
});
});
但是,当我改变代码时添加一个函数调用:
$(".campodigitavel").change(function(){
$(".campocalculado").each(function(){
if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo.
lnTotal = $(this).val();
}
// Percorre todos os filhos cujo pai é o atual da iteração
$("[pai=" + $(this).attr("id") + "]").each(function(){
if(this.value != ""){
lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" + parseFloat(this.value));
}
});
$("#" + $(this).attr("target")).val(lnTotal);
});
calcularPercentual();
});
功能代码:
function calcularPercentual(){
var lnValorReferencia, lnValorPai
lnValorReferencia = $("[percentual=true]").val();
$('.perccalculado').each(function(){
lnValorPai = $("#" + $(this).attr("pai")).val();
if(lnValorPai != ""){
$(this).val(lnValorPai * 100 / lnValorReferencia);
}
});
}
当JQuery代码第二次执行时,出现错误:Uncaught SyntaxError:Unexpected token ILLEGAL。
为什么?
谢谢, 卢西亚诺
答案 0 :(得分:2)
在var lnValorReferencia, lnValorPai;
答案 1 :(得分:1)
在初始化var lnValorReferencia之后忘记了分号(;
),lnValorPai
答案 2 :(得分:1)
我在阅读了这个主题后发现了错误(http://forum.jquery.com/topic/chrome-uncaught-syntaxerror)我在firefox中打开页面,它显示了真正的错误。
我在class =“perccalculado”的字段中将atribute pai的名称更改为paiperc。
答案 3 :(得分:0)
也许尝试在行后面加一个分号:
var lnValorReferencia, lnValorPai
我对此有点怀疑,因为js做了很多隐含的分号插入,但值得一试