1购物车
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery练习01购物车</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
<style type="text/css">
table{
width:800px;
margin:10px auto;
border:1px solid blue;
border-collapse: collapse;
}
td,th{
border:1px solid blue;
padding:10px;
text-align: center;
}
#font_count{
background-color: #aaaaaa;
color:red;
font-weight: bold;
}
</style>
</head>
<body>
<table id="tab_goods">
<tr>
<th colspan="6" style="text-align: left;">
<input type="button" value="添加商品" id="but_add"/> |
<input type="button" value="反选商品" id="but_fan"/> |
<input type="button" value="删除选中" id="but_del"/> |
<span>商品的总价:<font id="font_count">0元</font></span>
</th>
</tr>
<tr>
<th>顺序</th><th>名称</th><th>数量</th><th><a href="javascript:sortPrice();">单价</a></th><th>厂家</th><th><input type="checkbox" name="box_all"/></th>
</tr>
</table>
<script type="text/javascript">
function sortPrice(){
alert("排序");
}
$(function(){
$("#but_del").click(function(){
$.each($("input[name='box_goods']:checked"),function(i,n){
$(n).parents("tr").remove();
});
setFontText();
});
});
function setClickEvent(){
$("input[name='box_goods']").unbind();
$("input[name='box_goods']").click(setFontText);
}
function setFontText(){
var sum=0;
$.each($("input[name='box_goods']:checked"),function(i,n){
var $tr=$(n).parents("tr");
var collTd=$tr.children("td");
var num=collTd[2].innerText;
var price=collTd[3].innerText;
sum+=parseFloat(num)*parseFloat(price);
});
$("#font_count").text(parseInt(sum*100)/100+"元");
}
$(function(){
$("input[name='box_all']").bind("click",function(){
var bchecked=$(this).attr("checked");
$("input[name='box_goods']").attr("checked",bchecked);
setFontText();
});
});
$(function(){
$("#but_fan").bind("click",function(){
$.each($("input[name='box_goods']"),function(i,n){
$(n).attr("checked",!$(n).attr("checked"));
});
setFontText();
});
});
$(function(){
var arr=[["铅笔","上海"],["笔记本","新华"],["橡皮","中原"],["皮鞋","意尔康"],["上衣","森马服饰"],["铅笔","上海"],["笔记本","新华"],["橡皮","中原"],["皮鞋","意尔康"],["上衣","森马服饰"]];
for(var i=0;i<arr.length;i++){
var $tr=$("<tr></tr>");
$tr.append($("<td>"+(i+1)+"</td>"));
$tr.append($("<td>"+arr[i][0]+"</td>"));
$tr.append($("<td>"+(parseInt(Math.random()*10))+"</td>"));
$tr.append($("<td>"+(parseInt(Math.random()*100)/10)+"</td>"));
$tr.append($("<td>"+arr[i][1]+"</td>"));
$tr.append($("<td><input type='checkbox' name='box_goods'/></td>"));
$("#tab_goods").append($tr);
}
$("#form_add").hide();
$("#but_add").bind("click",function(){
$("#form_add").show();
});
$("#form_add").submit(function(){
var $tr=$("<tr></tr>");
$tr.append($("<td>"+($("#tab_goods tr").length-1)+"</td>"));
$tr.append($("<td>"+($("#tab_add_goods input[name='gname']").val())+"</td>"));
$tr.append($("<td>"+($("#tab_add_goods input[name='gprice']").val())+"</td>"));
$tr.append($("<td>"+($("#tab_add_goods input[name='gnum']").val())+"</td>"));
$tr.append($("<td>"+($("#tab_add_goods input[name='gaddress']").val())+"</td>"));
$tr.append($("<td><input type='checkbox' name='box_goods'/></td>"));
$("#tab_goods").append($tr);
setTrColor();
gaoLiang();
setClickEvent();
return false;
});
setTrColor();
gaoLiang();
setClickEvent();
});
var vbgcolor="";
function gaoLiang(){
$("#tab_goods tr:gt(1)").unbind();
$("#tab_goods tr:gt(1)").hover(function(){
vbgcolor= $(this).css("background-color");
$(this).css("background-color","#aa6666");
},function(){
$(this).css("background-color",vbgcolor);
});
}
function setTrColor(){
$("#tab_goods tr:even").css("background-color","#aacc99");
$("#tab_goods tr:odd").css("background-color","#99aacc");
}
</script>
<hr/>
<form id="form_add" >
<table id="tab_add_goods">
<tr>
<th>商品名称</th><td><input type="text" name="gname"/></td>
</tr>
<tr>
<th>商品单价</th><td><input type="text" name="gprice"/></td>
</tr>
<tr>
<th>商品数量</th><td><input type="text" name="gnum"/></td>
</tr>
<tr>
<th>商品厂家</th><td><input type="text" name="gaddress"/></td>
</tr>
<tr>
<th colspan="2">
<input type="submit" value="添加"/>
</th>
</tr>
</table>
</form>
</body>
</html>
2 实现按单价排序
var n=0;
function sortPrice(){
var $collTr=$("#tab_goods tr:gt(1)");
var arrTr=$collTr.toArray();
arrTr.sort(function(tri,trj){
var pricei=parseFloat($(tri).children("td:eq(3)").text());
var pricej=parseFloat($(trj).children("td:eq(3)").text());
return pricei==pricej?0:(pricei>pricej?1:-1);
});
if(n==1){
arrTr.reverse();
}
for(var i=0;i<arrTr.length;i++){
$(arrTr[i]).children("td:first").text(i+1);
$("#tab_goods").append($(arrTr[i]));
}
setTrColor();
n=(n+1)%2;
}
3 效果
