JavaScript
テイクアウト:料金自動計算
飲食店などのテイクアウト用に必要かな?と簡単な料金自動計算のスクリプト書きました。
必要に応じてカスタマイズしてご使用ください。
<html>
<head>
<title>自動計算</title>
<meta charset="utf-8">
<script type="text/javascript">
<!--
function keisan(){
//------ START -------
var tax = 8; // TAX
// ★ハンバーガー
var price1 = document.form1.goods1.selectedIndex * 700;
document.form1.field1.value = price1;
// ★チーズバーガー
var price2 = document.form1.goods2.selectedIndex * 800;
document.form1.field2.value = price2;
// ★ダブルチーズバーガー
var price3 = document.form1.goods3.selectedIndex * 1200;
document.form1.field3.value = price3;
// ★ベーコンチーズバーガー
var price4 = document.form1.goods4.selectedIndex * 1000;
document.form1.field4.value = price4;
// ★ベーコンエッグチーズバーガー
var price5 = document.form1.goods5.selectedIndex * 1100;
document.form1.field5.value = price5;
// 小計
var total1 = price1 + price2 + price3 + price4 + price5;
//------ END -------
document.form1.field_total1.value = total1; // 小計
var tax2 = Math.round((total1 * tax) / 100);
document.form1.field_tax.value = tax2; // 消費税
document.form1.field_total2.value = total1 + tax2; // 総合計
}
// -->
</script>
<style type="text/css">
body {
margin: 0;
text-align: center;
}
.priceTable {
margin: 20px auto
}
.keisanTit {
padding: 5px;
color: #fff;
font-size: 12px;
text-align: center;
background: #000;
}
.keisanItem {
padding: 5px 40px 5px 15px;
font-size: 14px;
text-align: left;
background: #f1f1f1;
}
.keisanNum {
padding: 5px 10px;
font-size: 14px;
text-align: center;
border-bottom: dotted 1px #ccc;
}
.keisanNum select {
padding: 5px 10px;
font-size: 14px;
text-align: center;
}
.keisanNum option {
padding: 5px 10px;
font-size: 14px;
text-align: center;
border-bottom: dotted 1px #ccc;
}
.keisanTanka {
padding: 5px 20px;
font-size: 14px;
text-align: right;
border-bottom: dotted 1px #ccc;
}
.textPrice {
padding: 5px 10px;
font-size: 14px;
text-align: right;
border-bottom: dotted 1px #ccc;
}
.textTotal {
padding: 5px 10px;
font-size: 14px;
text-align: right;
border-bottom: solid 2px #555;
}
.keisanPrice {
padding: 5px 10px;
font-size: 14px;
text-align: right;
border-bottom: dotted 1px #ccc;
}
.keisanPrice input[type=text] {
padding: 5px 10px;
font-size: 14px;
text-align: right;
border: none;
}
.keisanTotal {
padding: 5px 10px;
font-size: 14px;
text-align: right;
border-bottom: solid 2px #f66;
}
.keisanTotal input[type=text] {
padding: 5px 10px;
font-size: 18px;
text-align: right;
border: none;
}
</style>
</head>
<body>
<form action="#" name="form1">
<table class="priceTable">
<tr>
<th class="keisanTit">商品名</th>
<th class="keisanTit">単価</th>
<th class="keisanTit">数量</th>
<th class="keisanTit">金額</th>
</tr>
<tr>
<td class="keisanItem">★ハンバーガー</td>
<td class="keisanTanka">700円</td>
<td class="keisanNum"><select name="goods1" onChange="keisan()">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></td>
<td class="keisanPrice"><input type="text" name="field1" size="8" value="0"> 円</td>
</tr>
<tr>
<td class="keisanItem">★チーズバーガー</td>
<td class="keisanTanka">800円</td>
<td class="keisanNum"><select name="goods2" onChange="keisan()">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></td>
<td class="keisanPrice"><input type="text" name="field2" size="8" value="0"> 円</td>
</tr>
<tr>
<td class="keisanItem">★ダブルチーズバーガー</td>
<td class="keisanTanka">1,200円</td>
<td class="keisanNum"><select name="goods3" onChange="keisan()">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></td>
<td class="keisanPrice"><input type="text" name="field3" size="8" value="0"> 円</td>
</tr>
<tr>
<td class="keisanItem">★ベーコンチーズバーガー</td>
<td class="keisanTanka">1,000円</td>
<td class="keisanNum"><select name="goods4" onChange="keisan()">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></td>
<td class="keisanPrice"><input type="text" name="field4" size="8" value="0"> 円</td>
</tr>
<tr>
<td class="keisanItem">★ベーコンエッグチーズバーガー</td>
<td class="keisanTanka">1,100円</td>
<td class="keisanNum"><select name="goods5" onChange="keisan()">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></td>
<td class="keisanPrice"><input type="text" name="field5" size="8" value="0"> 円</td>
</tr>
<tr>
<td colspan="3" class="textPrice">小計</td>
<td class="keisanPrice"><input type="text" name="field_total1" size="8" value="0"> 円</td>
</tr>
<tr>
<td colspan="3" class="textPrice">消費税</td>
<td class="keisanPrice"><input type="text" name="field_tax" size="8" value="0"> 円</td>
</tr>
<tr>
<td colspan="3" class="textTotal"><strong>税込合計</strong></td>
<td class="keisanTotal"><input type="text" name="field_total2" size="8" value="0"> 円</td>
</tr>
</table>
<button type="submit" class="reset">リセット</button>
</form>
</body>
</html>
