html代码:
《input placeholder="请输入数量" id="[${i}]spsl" style="width:75px;" type="text" value="${l.sl}" onkeyup="this.value=this.value.replace(/[^\d]/g,'');" onblur="yz();"》
jsd代码:
function yz(){
var sumspje=0;
var sumspsl=0;
var i = 0;
$('input[name*=spsl]').each(function(){
sumspje = $(this).val()*$(#[i]spdj).html();
sumspsl = sumspsl+$(this).val();
i++;
}
$("#sumje").val(sumspje);
$("#sumsl").val(sumspsl);
}
为什么浏览器报:SCRIPT5009: “yz”未定义
each(function(){ 是在那里结束的?貌似没看到结束的地方。应该是编译有问题导致报错。添加后就应该没问题了。
查看你的代码是不是有地方出错了,function定义是可以在html中调用的
yz()方法不能写进$().ready(function(){})里面,你写出外面就可以了
下面的$(#[i]spdj).语法错误了。。导致yz函数根本没有生成。如果你的#[i]spdj是服务器端语言的话,不要讲js代码放入js文件中,要放入动态页里面给服务器端解析器解析执行
sumspje = $(this).val()*$('#[i]spdj').html();
each方法写的有问题啊,,
语法错误哈,这类问题要仔细检查