学js不久 做了一个简易 购物车 不要嘲笑哦
购物车 可以实现 全选 ,选中了之后,价格自动增加 而且可以选择数量 如果 输入的不是正整数的时候 还会警告 全选的内容提供超链接和 复选框两种方式
<html>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<head>
<script language="javascript" type="text/javascript">
<!--
function shopping(obj){
//此时的fruits是一个数组
var fruits=document.getElementsByName("fruit");
var fruitnum=document.getElementsByName("fruitnum");
//另外定义一个数量 不要直接用 或的的数量
var num=1;
//总价格
var totlePrice=0;
for(i=0;i<fruits.length;i++){
if(fruits[i].checked){
//在根据数量算总价格
//window.alert(fruitnum[i].value);
//先判断一下数量值是否为空 如果为空 则 默认为1
if(fruitnum[i].value=="")
{
num=1;
}
else {
num=parseInt(fruitnum[i].value);
}
//算总价格
totlePrice+=(parseInt(fruits[i].value)*num);
}
}
myspan.innerText=totlePrice;
}
//全选的函数
function allselect(obj){
var fruits=document.getElementsByName("fruit");
if(obj.innerText=="全选"){
for(j=0;j<fruits.length;j++){
fruits[j].checked=true;
}
}
else if(obj.innerText=="取消"){
for(j=0;j<fruits.length;j++){
fruits[j].checked=false;
}
}
//这里在调用一下这个函数 因为这个函数默认是在 onclick下执行的 所以这里 不调用的话 会没有效果的
shopping(obj);
}
//复选框全选用的
function allselect2(obj){
var check=document.getElementsByName("check");
var fruits=document.getElementsByName("fruit");
if(check[0].checked){
for(j=0;j<fruits.length;j++){
fruits[j].checked=true;
}
}
else {
for(j=0;j<fruits.length;j++){
fruits[j].checked=false;
}
}
shopping(obj);
}
//数量选择
function num(obj){
if(obj.keyCode<48||obj.keyCode>57){
window.alert("输入值非法,重新输入");
return false;
}
}
//-->
</script>
</head>
<body>
<h1>我的购物车</h1>
<input type="checkbox" value="10" name="fruit" onclick="shopping(this)"/>苹果10元 数量
<input type="text" value="1" name="fruitnum" size="10" onkeypress="return num(event)" onkeyup="shopping(this)" /><br/>
<input type="checkbox" value="20" name="fruit" onclick="shopping(this)"/>橘子20元 数量
<input type="text" value="1" name="fruitnum" size="10" onkeypress="return num(event)" onkeyup="shopping(this)" /><br/>
<input type="checkbox" value="30" name="fruit" onclick="shopping(this)"/>栗子30元 数量
<input type="text" value="1" name="fruitnum" size="10" onkeypress="return num(event)" onkeyup="shopping(this)" /><br/>
<input type="checkbox" value="40" name="fruit" onclick="shopping(this)"/>香蕉40元 数量
<input type="text" value="1" name="fruitnum" size="10" onkeypress="return num(event)" onkeyup="shopping(this)" /><br/>
<input type="checkbox" value="50" name="fruit" onclick="shopping(this)"/>枣子50元 数量
<input type="text" value="1" name="fruitnum" size="10" onkeypress="return num(event)" onkeyup="shopping(this)" /><br/>
总价格是<span id="myspan">0</span>元<br/>
<a href="#" onclick="allselect(this)">全选</a> <a href="#" onclick="allselect(this)">取消</a><br/>
<!--复选框的 全选-->
<input type="checkbox" onclick="allselect2(this)" name="check"/>全选<br/>
</body>
</html>
4095

被折叠的 条评论
为什么被折叠?



