源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[HTML/Xhtml] 如何把select下拉框的值传到id中实现代码

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2012-12-10 18:00:03 | 显示全部楼层 |阅读模式
把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方法,就可以取到值了!
回复

使用道具 举报

0

主题

2万

回帖

186

积分

注册会员

Rank: 2

积分
186
发表于 2022-11-12 05:58:46 | 显示全部楼层
搞个免费的用用
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2022-12-12 20:09:37 | 显示全部楼层
为全额万千瓦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-3-1 03:46:54 | 显示全部楼层
谢谢分享,先下来用用
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-3-19 12:45:58 | 显示全部楼层
这个源码还可以
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2023-4-30 14:34:32 | 显示全部楼层
谢谢分享,先下来用用
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

73

积分

注册会员

Rank: 2

积分
73
发表于 2023-6-22 12:42:47 | 显示全部楼层
逛逛看看瞧瞧
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-24 12:02:20 | 显示全部楼层
啊,数码撒飒飒飒飒
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2023-10-19 22:28:05 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-12-3 07:03:02 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-25 04:50 , Processed in 0.069396 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表