- リスト### 前提・実現したいこと
複数商品をカートに入れた後、
”ー”ボタンを押すと商品に関係なく合計金額から値段が引かれてしまう。
ちなみにGitHubのこのデータになります↓
リンク内容
Olive.html上で、カート追加するとカートに入っていない商品の”ー”を押しても合計金額が引かれる。
加えて、もし可能であれば、チェックアウト画面に前ページのカート情報が反映されるようなコードも知りたいです。(データ上は反映されない)
例
1000円商品がカートにある
↓
カートに入っていない600円の商品の”ー”ボタンを押すと
金額が600円引かれる
コード
Javascript
1 2var total = 0; 3 4// Dishes represents the appetizer prices only 5var dish1 = 0; 6var dish2 = 0; 7var dish3 = 0; 8var dish4 = 0; 9var dish5 = 0; 10var dish6 = 0; 11var dish7 = 0; 12var dish8 = 0; 13var dish9 = 0; 14var dish10 = 0; 15var dish11 = 0; 16 17// Prices for Dishes 18var price1 = 1000; 19var price2 = 1000; 20var price3 = 1500; 21var price4 = 1500; 22var price5 = 650; 23var price6 = 800; 24var price7 = 1000; 25var price8 = 800; 26var price9 = 800; 27var price10 = 800; 28var price11 = 800; 29var price12 = 0; 30var price13 = 0; 31var price14 = 0; 32 33 34// Num represents dish numbers 35function changeQuantity(amount,num) 36{ 37 var displayDish = 0; // Represents the dish the needs to be shown 38 39 if(num == 1) 40 { 41 if(dish1+amount>=0) { 42 dish1+=amount; 43 } 44 displayDish = 1; 45 updateTotal(amount,price1); 46 } 47 else if(num == 2) 48 { 49 if(dish2+amount>=0) { 50 dish2+=amount; 51 } 52 displayDish = 2; 53 updateTotal(amount,price2); 54 } 55 else if(num == 3) 56 { 57 if(dish3+amount>=0) { 58 dish3+=amount; 59 } 60 displayDish = 3; 61 updateTotal(amount,price3); 62 } 63 else if(num == 4) 64 { 65 if(dish4+amount>=0) { 66 dish4+=amount; 67 } 68 displayDish = 4; 69 updateTotal(amount,price4); 70 } 71 72 else if(num ==5) 73 { 74 if(dish5+amount>=0) { 75 dish5+=amount; 76 } 77 displayDish = 5; 78 updateTotal(amount,price5); 79 } 80 else if(num ==6) 81 { 82 if(dish6+amount>=0) { 83 dish6+=amount; 84 } 85 displayDish = 6; 86 updateTotal(amount,price6); 87 } 88 else if(num ==7) 89 { 90 if(dish7+amount>=0) { 91 dish7+=amount; 92 } 93 displayDish = 7; 94 updateTotal(amount,price7); 95 } 96 else if(num ==8) 97 { 98 if(dish8+amount>=0) { 99 dish8+=amount; 100 } 101 displayDish = 8; 102 updateTotal(amount,price8); 103 } 104 else if(num ==9) 105 { 106 if(dish9+amount>=9) { 107 dish9+=amount; 108 } 109 displayDish = 9; 110 updateTotal(amount,price9); 111 } 112 else if(num ==10) 113 { 114 if(dish10+amount>=10) { 115 dish10+=amount; 116 } 117 displayDish = 10; 118 updateTotal(amount,price10); 119 } 120 121 displayQuantity(displayDish); 122} 123 124function updateTotal(amount,price) 125{ 126 if(amount == -1 && (total-price >= 0)) 127 { 128 total-=price; 129 } 130 else if(amount == 1){ 131 total+=price; 132 } 133 134 displayTotal(); 135} 136 137function displayQuantity(num) 138{ 139 140 if(num === 1) 141 { 142 document.getElementById("quantity1-1").innerHTML = dish1.toString(); 143 document.getElementById("quantity1-2").innerHTML = dish1.toString(); 144 if(dish1 === 0) 145 { 146 document.getElementById("check1").style.display = 'none'; 147 } 148 else{ 149 document.getElementById("check1").style.display = 'block'; 150 } 151 } 152 else if(num == 2) 153 { 154 document.getElementById("quantity2-1").innerHTML = dish2.toString(); 155 document.getElementById("quantity2-2").innerHTML = dish2.toString(); 156 if(dish2 === 0) 157 { 158 document.getElementById("check2").style.display = 'none'; 159 } 160 else{ 161 document.getElementById("check2").style.display = 'block'; 162 } 163 } 164 else if(num == 3) 165 { 166 document.getElementById("quantity3-1").innerHTML = dish3.toString(); 167 document.getElementById("quantity3-2").innerHTML = dish3.toString(); 168 if(dish3 === 0) 169 { 170 document.getElementById("check3").style.display = 'none'; 171 } 172 else{ 173 document.getElementById("check3").style.display = 'block'; 174 } 175 } 176 else if(num == 4) 177 { 178 document.getElementById("quantity4-1").innerHTML = dish4.toString(); 179 document.getElementById("quantity4-2").innerHTML = dish4.toString(); 180 if(dish4 === 0) 181 { 182 document.getElementById("check4").style.display = 'none'; 183 } 184 else{ 185 document.getElementById("check4").style.display = 'block'; 186 } 187 } 188 else if(num == 5) 189 { 190 document.getElementById("quantity5-1").innerHTML = dish5.toString(); 191 document.getElementById("quantity5-2").innerHTML = dish5.toString(); 192 if(dish5 === 0) 193 { 194 document.getElementById("check5").style.display = 'none'; 195 } 196 else{ 197 document.getElementById("check5").style.display = 'block'; 198 } 199 } 200 else if(num == 6) 201 { 202 document.getElementById("quantity6-1").innerHTML = dish6.toString(); 203 document.getElementById("quantity6-2").innerHTML = dish6.toString(); 204 if(dish6 === 0) 205 { 206 document.getElementById("check6").style.display = 'none'; 207 } 208 else{ 209 document.getElementById("check6").style.display = 'block'; 210 } 211 } 212 else if(num == 7) 213 { 214 document.getElementById("quantity7-1").innerHTML = dish7.toString(); 215 document.getElementById("quantity7-2").innerHTML = dish7.toString(); 216 if(dish7 === 0) 217 { 218 document.getElementById("check7").style.display = 'none'; 219 } 220 else{ 221 document.getElementById("check7").style.display = 'block'; 222 } 223 } 224 else if(num == 8) 225 { 226 document.getElementById("quantity8-1").innerHTML = dish8.toString(); 227 document.getElementById("quantity8-2").innerHTML = dish8.toString(); 228 if(dish8 === 0) 229 { 230 document.getElementById("check8").style.display = 'none'; 231 } 232 else{ 233 document.getElementById("check8").style.display = 'block'; 234 } 235 } 236 else if(num == 9) 237 { 238 document.getElementById("quantity9-1").innerHTML = dish9.toString(); 239 document.getElementById("quantity9-2").innerHTML = dish9.toString(); 240 if(dish9 === 0) 241 { 242 document.getElementById("check9").style.display = 'none'; 243 } 244 else{ 245 document.getElementById("check9").style.display = 'block'; 246 } 247 } 248 else if(num == 10) 249 { 250 document.getElementById("quantity10-1").innerHTML = dish10.toString(); 251 document.getElementById("quantity10-2").innerHTML = dish10.toString(); 252 if(dish10 === 0) 253 { 254 document.getElementById("check10").style.display = 'none'; 255 } 256 else{ 257 document.getElementById("check10").style.display = 'block'; 258 } 259 } 260 261} 262 263function displayTotal() 264{ 265 var result = Math.round(total*100) / 100; 266 result = result.toFixed(2); 267 268 document.getElementById("total").innerHTML = result.toString(); 269} 270
その他のページが必要な際はご連絡ください。
お手数おかけいたしますが、
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー