前提
jqueryで合計料金をリアルタイムで表示するサイトを作っています。
実現したいこと
合計料金を表示したいです。
発生している問題・エラーメッセージ
セレクトボックスの変化で反応するようにしているため、選択する前はFirvalueが存在しないと出ています。
該当のソースコード
javascript
1$(function() { 2 Firvalue1 = 5000; 3 Firvalue2 = 0; 4 Firvalue3 = 0; 5 6 macivalue1 = 0; 7 macivalue2 = 0; 8 9 usevalue1 = 0; 10 usevalue2 = 0; 11 12 function value() { 13 Firvalue = Firvalue1 + Firvalue2 + Firvalue3; 14 $("#init_base_total").append(Firvalue); 15 macivalue = macivalue1 + macivalue2; 16 $("#init_iptel_total").append(macivalue); 17 usevalue = usevalue1 + usevalue2; 18 $("#month_rental_total").append(usevalue); 19 } 20 21 $("#group3_type1").change(function(){ 22 let str1 = $("#group3_type1").val(); 23 let Firvalue1 = str1 * 5000; 24 value(Firvalue1); 25 }); 26 27 $("#group3_type2").change(function() { 28 let str2 = $("#group3_type2").val(); 29 let Firvalue2 = str2 * 5000; 30 let macivalue1 = str2 * 11500; 31 let usevalue1 = str2 * 500; 32 value(Firvalue2, macivalue1, usevalue1); 33 }); 34 35 $("#group3_type3").change(function(){ 36 let str3 = $("#group3_type3").val(); 37 let Firvalue3 = str3 * 5000; 38 let macivalue2 = str3 * 9300; 39 let usevalue2 = str3 * 500; 40 value(Firvalue3, macivalue2, usevalue2); 41 }); 42});
PHP
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<link rel="stylesheet" type="text/css" href="CSS/style.css?<?php echo date('Ymd-Hi');?>"> 6<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 7</head> 8<body> 9<select id="group3_type1" style="font-size: 0.9em; float:left; margin-left:30px"> 10 <option value="0">0</option> 11 <option value="1" selected>1</option> 12 <option value="2">2</option> 13 <option value="3">3</option> 14 <option value="4">4</option> 15 <option value="5">5</option> 16 <option value="6">6</option> 17 <option value="7">7</option> 18 <option value="8">8</option> 19 <option value="9">9</option> 20 <option value="10">10</option> 21 <option value="11">11</option> 22 <option value="12">12</option> 23 <option value="13">13</option> 24 <option value="14">14</option> 25 <option value="15">15</option> 26 <option value="16">16</option> 27 <option value="17">17</option> 28 <option value="18">18</option> 29 <option value="19">19</option> 30 <option value="20">20</option> 31 </select> 32<select id="group3_type2" style="font-size: 0.9em; float:left; margin-left:30px"> 33 <option value="0" selected>0</option> 34 <option value="1">1</option> 35 <option value="2">2</option> 36 <option value="3">3</option> 37 <option value="4">4</option> 38 <option value="5">5</option> 39 <option value="6">6</option> 40 <option value="7">7</option> 41 <option value="8">8</option> 42 <option value="9">9</option> 43 <option value="10">10</option> 44 </select> 45<select id="group3_type3" style="font-size: 0.9em; float:left; margin-left:30px"> 46 <option value="0" selected>0</option> 47 <option value="1">1</option> 48 <option value="2">2</option> 49 <option value="3">3</option> 50 <option value="4">4</option> 51 <option value="5">5</option> 52 <option value="6">6</option> 53 <option value="7">7</option> 54 <option value="8">8</option> 55 <option value="9">9</option> 56 <option value="10">10</option> 57 </select> 58 <td class="left"></td> 59 <td class="right" id="init_base_total"></td> 60 </tr> 61 <tr> 62 <td class="left"></td> 63 <td class="right" id="init_iptel_total"> 64 </td> 65 </tr> 66 <tr> 67 <td class="left"></td> 68 <td class="right" id="month_rental_total"> 69 </td> 70 </tr> 71 72</body> 73</html> 74
試したこと
一度他の関数内で定義した関数は使えないとのことだったので、数字を後ろにつけて区別するようにしました。
補足情報(FW/ツールのバージョンなど)
できるだけHTMLには触れずにjavascriptの変更だけで実現したいです。
Firvalue1などに初期値が存在しないのがいけないのでしょうか。
それとも関数の外だから参照できていないのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/01 14:23
2022/10/02 03:27