|
把select下拉框的值传到id中,是网友们比较在意的问题,本人搜索整理下,晒出来和大家分享
完整的代码如下: HTML code:
复制代码代码如下: <!-- EOT; if($step==1){ print <<<EOT --> <div class="main"> <form name="form_order" method="post" action="?action=$atc" enctype="multipart/form-data"> <div class="shopcartbox"> <div class="shopcart2"> <!-- EOT; $total_all=0; $jinbi_all=0; foreach($listdb AS $name=>$array){ $total=0; $jinbi=0; print <<<EOT --> <ul class="u1"> <li class="l1"><div><input type="checkbox" name="" id="" checked="checked" /> 全选</div></li> <li class="l2">商品</li> <li class="l3">返积分</li> <li class="l4">数量</li> <li class="l5">单价</li> <li class="l6">总价</li> </ul> <!-- EOT; foreach($array AS $rs){ $ rs[picurl]=$rs[picurl]?$rs[picurl]:"$webd[www_url]/images/default/nopic.jpg"; $rs[picurl]=tempdir($rs[picurl]); @extract($db->get_one("SELECT content FROM {$_pre}content_$rs[mid] WHERE id=$rs[id]")); $content=preg_replace('/<([^<]*)>/is',"",$content); //把HTML代码过滤掉 $content=preg_replace('/ | | /is',"",$content); //把多余的空格去除掉 $content= get_word($content,100); $total+=$rs[price2]; $total_all+=$rs[price2]; $jinbi+=$rs[jinbi2]; $jinbi_all+=$rs[jinbi2]; print <<<EOT --> <ul class="u2" id="tr$rs[id]"> <li class="l1"><input type="checkbox" name="" id="" checked="checked" /></li> <li class="l2"><a href="bencandy.php?city_id=$rs[city_id]&fid=$rs[fid]&id=$rs[id]" class="pic" target="_blank"><img src="$rs[picurl]"height="90" onError="this.src='$webdb[www_url]/images/default/nopic.jpg'"/></a><h3><a href="bencandy.php?city_id=$rs[city_id]&fid=$rs[fid]&id=$rs[id]" target="_blank">$rs[title]</a></h3><p>$rs[content]</p></li> <li class="l3">0分</li> <li class="l4">{$rs[num]}</li> <li class="l5"><font>{$rs[price]}</font>元</li> <li class="l6"><font id="showid$rs[id]" class="shows$rs[uid]">{$rs[price2]}</font>元</li> </ul> <!-- EOT; }print <<<EOT --> <ul class="u3"> <div class="fr"> <p class="p1"> 运送方式: <!-- EOT; if($rs[youfei]=="1"){print <<<EOT --> <select id="collect" name="postdb[youfei]" onchange="Add(this.value,'total$rs[uid]')"> <option value='10'>快递:10元</option> <option value='20'>EMS:20元</option> <option value='50'>平邮:50元</option> </select> <SCRIPT LANGUAGE="JavaScript"> <!-- function changenum(price,type,id,uid){ price=parseFloat(price); num = parseInt($("#numid"+id).val()); if(type==1){ //增加 num++; } else if(type==-1){ //减少 num--; } else if(type==0){ //删除 num=0 } if(type!=0 && num==0){ alert('数量不能小于1,若不想购买,请选择删除'); num=1; } $("#numid"+id).val(num); $("#showid"+id).html(changeTwoDecimal(String(num*price))); obj=$(".shows"+uid); thispice = 0; for(i=0;i<obj.size();i++){ thispice+=parseFloat(obj.eq(i).html()); } $("#total"+uid).html(thispice); if(type==0){ $.get("join.php?type=setcookie&cid="+id+"&num="+0); $("#tr"+id).hide(); }else{ $.get("join.php?type=setcookie&cid="+id+"&num="+num+"&"+Math.random()); } obj2 = $(".totalprice"); if(obj2.size()>1){ thispice = 0; for(i=0;i<obj2.size();i++){ thispice+=parseFloat(obj2.eq(i).html()); } $("#total_all").html(thispice); } } function changeTwoDecimal(x){ var f_x = parseFloat(x); if(isNaN(f_x)){ alert('function:changeTwoDecimal->parameter error'); return false; } var f_x = Math.round(x*100)/100; return f_x; } function Add(m,id){ document.getElementById(id).innerHTML = parseInt(document.getElementById(id).getAttribute("total")+parseInt(m)) //--> </SCRIPT> <!-- EOT; } print <<<EOT --> </p> <p class="p2"><strong>店铺商品合计: </strong>(含运费) <font id="total$rs[uid]" class="totalprice">$total</font>元</p> </div> <div class="fl"> <p class="p1"><stron>卖家:{$rs[username]}</strong></p> <p class="p2">给卖家留言:<textarea name='postdb[content]' id='atc_content' >$rsdb[content]</textarea></p> </div> </ul> <!-- EOT; }print <<<EOT --> <!-- EOT; if(count($listdb)>1){ print <<<EOT --> <ul class="u4"><div><strong>商品总价:</strong>(含运费) <font id="total_all">$total_all</font>元</div></ul> <!-- EOT; } print <<<EOT --> </div> </div> <div class="clear20"></div> <div class="shoppostbox"> <div class="shoppostdiv"> <div class="shopinfo"> <p><span>实付款:</span> <!-- EOT; if(count($listdb)>1){ print <<<EOT --> <font id="total$rs[uid]" class="totalprice">$total_ll</font>元 <!-- EOT; } else{print <<<EOT --> <font id="total$rs[uid]" class="totalprice">$total</font>元 <!-- EOT; }print <<<EOT --> </p> {$address_selects} </div> </div> <div class="shop_postbtn"> <input type="submit" name="imageField" id="imageField" class="shop-submit" value=" " /> <input type="hidden" name="fid" value="$fid"> <input type="hidden" name="id" value="$id"> <input type="hidden" name="cid" value="$cid"> <input type="hidden" name="postdb[title]" id="atc_title" size="50" value="$infodb[title]"> </div> <!-- EOT; if($job=='edit'){print <<<EOT --> <SCRIPT LANGUAGE="JavaScript"> <!-- $(document).ready(function(){ $("#othermore").show();$("#dobutton").hide(); }); //--> </SCRIPT> <a href="?action=del&id=$id&cid=$cid&fid=$rsdb[fid]" onClick="return confirm('你确认要删除吗?');">删除</a> <!-- EOT; }print <<<EOT --> </div> <script language="JavaScript"> <!-- function chooseAddress(selObj){ value = selObj.options[selObj.selectedIndex].value; if(value=='-1'){ ifHideMoreTr(false); } else{ ifHideMoreTr(true); } } function ifHideMoreTr(type){ var arr = ["username","phone","mobphone","email","qq","postcode","address" ]; $("#othermore input").each(function (i){ if(jQuery.inArray(this.name.replace(/postdb\[order_([\w]+)\]/, "$1"),arr)!=-1){ obj=$(this).parent().parent(); if(type==true){ obj.hide() }else{ obj.show() } } }); } $(document).ready(function(){ sObj = $("#choose_Address"); if(sObj.get(0).options.length==1||"$job"=="edit"){ sObj.parent().parent().hide ifHideMoreTr(false); } else{ ifHideMoreTr(true); } }); //--> </script> </form> </div> <!-- EOT; } print <<<EOT --> <div class="clear20"> </div> </div> <!-- EOT; ?> -->
想要的效果是: 当我选择ems20运费时,在运送方式中点击下拉框中的运费时那么就用 店铺合计总价+ 20元 当我点击平邮50元时,店铺合计总价+ 50元. 我说的要二个地方显示,是因为他如果存在二个不同的商家的商品时,会有二个商家合起来的总价和 商家商品本身的总价。 解决方法如下:
复制代码代码如下: <select id="collect" name="postdb[youfei]" onchange="Add(this.value,'total$rs[uid]')"> <option value='10'>快递:10元</option> <option value='20'>EMS:20元</option> <option value='50'>平邮:50元</option> </select>
对name=”postdb[youfei]“属性进行操作,在action中设置名为postdb[youfei]的参数,即:private String postdb[youfei],然后生成get/set方法,就可以取到值了! |
|