選択ドロップダウンボックスの値を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分で実装する方法を教えます(基本バージョン)

推薦する

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

MySQL の重複データの処理方法 (防止と削除)

一部の MySQL テーブルには重複レコードが含まれている場合があります。重複データが存在することを...

MySQL ストレージエンジンの簡単な紹介

1. MySQL アーキテクチャストレージ エンジンを紹介する前に、まずは MySQL アーキテクチ...

Linux で g++ を使用してプログラムをコンパイルする際の -I (大文字の i)、-L (大文字の l)、-l (小文字の l) の機能の詳細な説明

初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...

メタビューポートタグ(モバイルブラウジングズームコントロール)の使用方法

OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...

ホストサービスにアクセスするDockerでのサービスの実装

目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...

Linux でファイルの権限 (所有権) を変更する

Linux と Unix はマルチユーザー オペレーティング システムであるため、ファイルの権限と所...

Vue-Jest自動テストの基本構成の詳しい説明

目次インストール構成よくある間違い事前テスト作業依存関係の扱いインスタンスとDOMを生成する要約する...

MySQL でサーバーのインストールを開始できない場合の解決策について簡単に説明します。

コンピュータに初めて MySQL をインストールする場合、通常このエラー メッセージは表示されません...

Linux サーバーと Windows システム間でファイルをアップロードおよびダウンロードする方法

背景: Linux サーバーのファイルのアップロードとダウンロード。 XShell+Xftp インス...

MySQL 永続統計の詳細な説明

1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...

Vue はシームレスなカルーセル効果を実現

この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを参考までに紹介します...

Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル

1. MySQLをダウンロードするURL: https://dev.mysql.com/downlo...

HTMLにおけるbackground-image属性の設定の詳細な説明

写真といえば、まず背景画像が思い浮かびます。私たちの装飾の多くは背景画像を使用して実現されているから...

星のきらめき効果を実現するネイティブ js

この記事の例では、星のきらめき効果を実現するためのjsの具体的なコードを共有しています。具体的な内容...