求助js 小弟现在做的是购物车如图显示的是1.我想修改为2.然后用js取到刚输入的值返回给jsp..然后立即显示出新的价格..求救 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这样觉得很好吗?为什么要修改数量了,立马把价格改过来呀?是不是数量越多, 折扣越大?其实你应该换一个思路:把折扣在页面加载时就放在页面上。这样,在用户修改数量时,直接从页面上得到价格。商品价格:<span id="span1" old='760' >760<span>商品数量:<input id='txt1' type='text' onchange='textChange(this)' />function calc(num){ if(num<=10){ return 1; } if(num<=100) return 0.95; if(num<=500) return 0.8; return 0.75;}function textChange(obj){ if(isNaN(obj.value)){ return; } var disCount=calc(obj.value); var span1 = document.getElementById("span1"); var oldPrice=parseInt(span1.getAttribute("old")); document.getElementById("span1").innerHTML=oldPrice*disCount;}(上面的代码,全是手写,没有验证过,如有小问题请楼主自己改下)当然咯, 你实在想按你那个思路, 访问后台, 也行, 用jQuery的$.ajax请求再返回一个数据就是。 $.ajax的用法, 你搜索一下, 到处都是, 哥就不再多说了。 我就是要用户修改数量在页面上得到价钱的吖不是吗?请问calc(num)这个函数要应用在哪个地方呢? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script><style type="text/css"></style><script type="text/javascript"> //计算折扣 function calc(num){ if(num<=10) return 1; if(num<=100) return 0.95; if(num<=500) return 0.8; return 0.75; } //文本改变时事件 function textChange(obj){ var disCount=calc(obj.value); var span1 = document.getElementById("span1"); var oldPrice=parseInt(span1.getAttribute("old")); document.getElementById("span1").innerHTML=oldPrice*disCount; } //只允许输入数字 function checkKeyForInt(value, e) { var isOK = false; var key = window.event ? e.keyCode : e.which; if ((key > 95 && key < 106) || //小键盘上的0到9 (key > 47 && key < 60) || //大键盘上的0到9 key == 8 || key == 9 || key == 46 || key == 37 || key == 39 //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right) ) { isOK = true; } else { if (window.event) //IE { e.returnValue = false; //event.returnValue=false 效果相同. } else //Firefox { e.preventDefault(); } } return isOK; }</script></head> <body>商品价格:<span id="span1" old='760' >760</span>商品数量:<input id='txt1' type='text' onkeyup='textChange(this)' onkeydown="checkKeyForInt(this.value,event)" style="ime-mode: disabled" /></body> </html>这次验证过了,你自己试试, 保存为 html文件, 再打开就是了。 jsp页面加载后再刷新1次。。。 如何获取中英文字符串的长度? setTimeout 带参数的问题 求一个正则表达式 关于多个表格的显示和隐藏问题。一次只显示一个表格,其他表格均隐藏。 关于客户端组件的问题! 下面这段js如何才能在firefox中正常执行 这段代码为什么不能提交表单 求教弹出页面最大化问题!!!在线聆听 请大家帮助看看那里错了。 鼠标单击如何触发jquery.autocomplete 这个事件,谢谢! 评论框的内容怎么用js隐藏和显现?
是不是数量越多, 折扣越大?其实你应该换一个思路:把折扣在页面加载时就放在页面上。这样,在用户修改数量时,直接从页面上得到价格。商品价格:<span id="span1" old='760' >760<span>
商品数量:<input id='txt1' type='text' onchange='textChange(this)' />function calc(num){
if(num<=10){
return 1;
}
if(num<=100)
return 0.95;
if(num<=500)
return 0.8;
return 0.75;
}function textChange(obj){
if(isNaN(obj.value)){
return;
}
var disCount=calc(obj.value);
var span1 = document.getElementById("span1");
var oldPrice=parseInt(span1.getAttribute("old"));
document.getElementById("span1").innerHTML=oldPrice*disCount;
}
(上面的代码,全是手写,没有验证过,如有小问题请楼主自己改下)当然咯, 你实在想按你那个思路, 访问后台, 也行, 用jQuery的$.ajax请求再返回一个数据就是。 $.ajax的用法, 你搜索一下, 到处都是, 哥就不再多说了。
我就是要用户修改数量在页面上得到价钱的吖不是吗?请问calc(num)这个函数要应用在哪个地方呢?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
<style type="text/css">
</style>
<script type="text/javascript">
//计算折扣
function calc(num){
if(num<=10)
return 1;
if(num<=100)
return 0.95;
if(num<=500)
return 0.8;
return 0.75;
}
//文本改变时事件
function textChange(obj){
var disCount=calc(obj.value);
var span1 = document.getElementById("span1");
var oldPrice=parseInt(span1.getAttribute("old"));
document.getElementById("span1").innerHTML=oldPrice*disCount;
}
//只允许输入数字
function checkKeyForInt(value, e) {
var isOK = false;
var key = window.event ? e.keyCode : e.which;
if ((key > 95 && key < 106) || //小键盘上的0到9
(key > 47 && key < 60) || //大键盘上的0到9
key == 8 || key == 9 || key == 46 || key == 37 || key == 39 //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)
) {
isOK = true;
} else {
if (window.event) //IE
{
e.returnValue = false; //event.returnValue=false 效果相同.
}
else //Firefox
{
e.preventDefault();
}
}
return isOK;
}
</script>
</head>
<body>
商品价格:<span id="span1" old='760' >760</span>
商品数量:<input id='txt1' type='text' onkeyup='textChange(this)' onkeydown="checkKeyForInt(this.value,event)" style="ime-mode: disabled" />
</body>
</html>
这次验证过了,你自己试试, 保存为 html文件, 再打开就是了。