如何把select下拉框的值傳到id中實現(xiàn)代碼

字號:


    把select下拉框的值傳到id中,是網(wǎng)友們比較在意的問題,本人搜索整理下,曬出來和大家分享
    完整的代碼如下:
    HTML code:
    代碼如下:
    <!--
    EOT;
    if($step==1){
    print <<<EOT -->
    <div>
    <form name="form_order" method="post" action="?action=$atc" enctype="multipart/form-data">
    <div>
    <div>
    <!--
    EOT;
    $total_all=0;
    $jinbi_all=0;
    foreach($listdb AS $name=>$array){
    $total=0;
    $jinbi=0;
    print <<<EOT
    -->
    <ul>
    <li><div><input type="checkbox" name="" id="" checked="checked" /> 全選</div></li>
    <li>商品</li>
    <li>返積分</li>
    <li>數(shù)量</li>
    <li>單價</li>
    <li>總價</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 id="tr$rs[id]">
    <li><input type="checkbox" name="" id="" checked="checked" /></li>
    <li><a href="bencandy.php?city_id=$rs[city_id]&fid=$rs[fid]&id=$rs[id]" 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>0分</li>
    <li>{$rs[num]}</li>
    <li><font>{$rs[price]}</font>元</li> <li><font id="showid$rs[id]">{$rs[price2]}</font>元</li> </ul>
    <!--
    EOT;
    }print <<<EOT
    -->
    <ul>
    <div>
    <p>
    運送方式:
    <!--
    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('數(shù)量不能小于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><strong>店鋪商品合計:
    </strong>(含運費) <font id="total$rs[uid]">$total</font>元</p>
    </div>
    <div>
    <p><stron>賣家:{$rs[username]}</strong></p>
    <p>給賣家留言:<textarea name='postdb[content]' id='atc_content' >$rsdb[content]</textarea></p>
    </div>
    </ul>
    <!--
    EOT; }print <<<EOT
    -->
    <!--
    EOT;
    if(count($listdb)>1){
    print <<<EOT
    -->
    <ul><div><strong>商品總價:</strong>(含運費) <font id="total_all">$total_all</font>元</div></ul> <!-- EOT; }
    print <<<EOT
    -->
    </div>
    </div>
    <div></div> <div>
    <div>
    <div>
    <p><span>實付款:</span>
    <!--
    EOT;
    if(count($listdb)>1){
    print <<<EOT
    -->
    <font id="total$rs[uid]">$total_ll</font>元
    <!--
    EOT; }
    else{print <<<EOT
    -->
    <font id="total$rs[uid]">$total</font>元
    <!--
    EOT;
    }print <<<EOT
    --> </p> {$address_selects}
    </div>
    </div>
    <div>
    <input type="submit" name="imageField" id="imageField" 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>
    </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]的參數(shù),即:private String postdb[youfei],然后生成get/set方法,就可以取到值了!