選択ドロップダウンボックスの値をIDに渡してコードを実装する方法

選択ドロップダウンボックスの値をIDに渡してコードを実装する方法
完全なコードは次のとおりです
HTMLコード:

コードをコピー
コードは次のとおりです。

<!--
EOT;
$step==1の場合
印刷 <<<EOT -->
<div class="main">
<フォーム名="form_order" メソッド="post" アクション="?action=$atc" enctype="multipart/form-data">
<div class="ショップカートボックス">
<div class="shopcart2">
<!--
EOT;
合計 = 0;
$ジンビ_all=0;
foreach($listdb AS $name=>$array){
$合計=0;
$ジンビ=0;
印刷 <<<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("{$_pre}content_$rs[mid] からコンテンツを選択 WHERE id=$rs[id]"));
$content=preg_replace('/<([^<]*)>/is',"",$content); //HTML コードを除外する
$content=preg_replace('/ | | /is',"",$content); //余分なスペースを削除します $content= get_word($content,100);
$合計+=$rs[価格2];
$total_all+=$rs[price2];
$ジンビ+=$rs[ジンビ2];
$jinbi_all+=$rs[jinbi2];
印刷 <<<EOT
-->
<ul class="u2" id="tr$rs[id]">
<li class="l1"><input type="checkbox" name="" id="" 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[タイトル]</a></h3><p>$rs[コンテンツ]</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;
}印刷 <<<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>
</選択>
<スクリプト言語="JavaScript">
<!--
関数 changenum(価格,タイプ,ID,UID){
価格=parseFloat(価格);
num = parseInt($("#numid"+id).val());
if(type==1){ //増加
数値++; }
そうでない場合(type==-1){ //減らす
数値--; }
else if(type==0){ //削除
数値=0 }
if(type!=0 && num==0){
alert('数量は 1 未満にできません。購入しない場合は削除を選択してください');
数値=1; }
$("#numid"+id).val(num);
$("#showid"+id).html(changeTwoDecimal(String(num*price))); obj=$(".shows"+uid);
このサイズ = 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(このスパイス); } }
関数 changeTwoDecimal(x){
var f_x = parseFloat(x);
if(isNaN(f_x)){
警告('function:changeTwoDecimal->パラメータエラー');
falseを返します。
var f_x = Math.round(x*100)/100; 戻り値 f_x; }
関数 Add(m,id){ document.getElementById(id).innerHTML = parseInt(document.getElementById(id).getAttribute("total")+parseInt(m)) //--> </SCRIPT>
<!--
終了時刻; }
印刷 <<<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[ユーザー名]}</strong></p>
<p class="p2">販売者にメッセージを残す: <textarea name='postdb[content]' id='atc_content' >$rsdb[content]</textarea></p>
</div>
</ul>
<!--
EOT; }印刷 <<<EOT
-->
<!--
EOT;
if(count($listdb)>1){
印刷 <<<EOT
-->
<ul class="u4"><div><strong>商品の合計金額:</strong>(送料を含む) <font id="total_all">$total_all</font> 元</div></ul> <!-- EOT; }
印刷 <<<EOT
-->
</div>
</div>
<div class="clear20"></div> <div class="shoppostbox">
<div class="shoppostdiv">
<div class="ショップ情報">
<p><span>実際の支払い:</span>
<!--
EOT;
if(count($listdb)>1){
印刷 <<<EOT
-->
<font id="total$rs[uid]" class="totalprice">$total_ll</font> 元
<!--
終了時刻; }
そうでない場合は、印刷<<<EOT
-->
<font id="total$rs[uid]" class="totalprice">$total</font> 元
<!--
終了時刻
}印刷 <<<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
-->
<スクリプト言語="JavaScript">
<!--
$(ドキュメント).ready(関数(){
$("#othermore").show();$("#dobutton").hide();
});
//-->
</スクリプト>
<a href="?action=del&id=$id&cid=$cid&fid=$rsdb[fid]" onClick="return confirm('本当に削除しますか?');">削除</a>
<!--
EOT;
}印刷 <<<EOT
-->
</div>
<スクリプト言語="JavaScript">
<!--
関数 chooseAddress(selObj){
値 = selObj.options[selObj.selectedIndex].value;
if(値=='-1'){
ifHideMoreTr(false); }
そうでない場合{ ifHideMoreTr(true);
}
}
関数ifHideMoreTr(type){
var arr = ["ユーザー名","電話番号","携帯電話番号","メールアドレス","qq","郵便番号","住所" ];
$("#othermore入力").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()
}
}
});
}
$(ドキュメント).ready(関数(){
sObj = $("#choose_Address");
if(sObj.get(0).options.length==1||"$job"=="編集"){
sObj.parent().parent().非表示
ifHideMoreTr(false);
}
そうでない場合{ ifHideMoreTr(true);
}
});
//-->
</スクリプト>
</フォーム>
</div>
<!--
EOT;
} 印刷 <<<EOT
-->
<div class="clear20">
</div>
</div>
<!--
終了時刻
?>
-->

望ましい効果は次のとおりです
EMS 20 送料を選択した場合、配送方法のドロップダウンボックスで送料をクリックすると、ストアの合計価格 + 20 元が使用されます。船便 50 元をクリックすると、ストアの合計価格 + 50 元が使用されます。
2 か所に表示する必要があると言ったのは、2 つの異なる販売業者の商品がある場合、2 つの販売業者の合計価格と販売業者の商品自体の合計価格が表示されるためです。
解決策は次のとおりです

コードをコピー
コードは次のとおりです。

<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>
</選択>

name="postdb[youfei]" 属性を操作し、アクションで postdb[youfei] という名前のパラメータ、つまり private String postdb[youfei] を設定し、get/set メソッドを生成して値を取得します。

<<:  ウェブタイポグラフィにおける致命的な意味的ミス 10 選

>>:  円形/扇形メニューを2分で実装する方法を教えます(基本バージョン)

推薦する

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

MySQLのexecute、executeUpdate、executeQueryの違い

execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...

DockerでHadoopを実行しイメージを作成する方法

車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...

MySQL データ ウェアハウスを保護するための 5 つのヒント

さまざまなソースからデータを集約することで、中央倉庫を作成できます。データ ウェアハウスは、ビジネス...

JavaScript での AOP プログラミングの基本実装

AOP の紹介AOP (アスペクト指向プログラミング) の主な機能は、コアビジネスロジックモジュール...

HTMLフォーム要素の詳しい解説(パート1)

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

オンラインMySQL自動増分IDが使い果たされた場合の対処方法

目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...

HTMLとCSSを使用して、自分だけの暖かい男「Dabai」を作成します

最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...

Navicat for MySql ビジュアルインポート CSV ファイル

この記事では、参考までに、Navicat for MySql の CSV ファイルのビジュアルインポ...

CSS カウンターとコンテンツの概要

コンテンツ プロパティは CSS 2.1 で導入され、:before および :after 疑似要素...

メモリ構成が過剰でMySQLが起動できない問題の解決方法

問題の説明MySQL の起動時にエラーが報告されます。エラー ログを確認してください。 [エラー] ...

SQL ストアド プロシージャの取得、データ取得、プロセス分析

この記事は主に、SQL のストアド プロシージャから返されたデータを取得するプロセスの分析を紹介しま...

要素複数フォーム検証の実装

プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...

Reactはtodolistの追加、削除、変更、クエリを実装します

目次ToDoリストを例に挙げましょうディレクトリは次のとおりですアプリ入力.jsリスト.jsアイテム...