0

合計に問題がある

例: のチェックボックスid='sms'がチェックされている場合は合計 x2、そうでない場合は x1

<form>
<input onclick="clickCh(this)" type="checkbox" value="1.00"> $1.00<br>
<input onclick="clickCh(this)" type="checkbox" value="2.00"> $2.00<br>
<input id="sms" type="checkbox"> pay via sms<br>
     <BR>
<input id="total" type="text" name="total">
</form>
</div>

<script>
var total = document.getElementById("total")

$('#sms').change(function(){
    var rise = this.checked ? '2' : '1';
});

 function clickCh(caller){
  if(caller.checked){
   add(caller)
  } else {
   subtract(caller)
  }
 }
function add(caller){ 
    total.value = total.value*1 + caller.value*1 * rise
        }
function subtract(caller){ 
    total.value = total.value*1 - caller.value*1 * rise
    }
</script>
4

1 に答える 1

1

riseのスコープは、この関数内のみです。

$('#sms').change(function(){
    var rise = this.checked ? '2' : '1';
});

外部で宣言してから変更します。

var rise;

$('#sms').change(function(){
    rise = this.checked ? 2 : 1;
});
于 2012-08-18T06:41:40.877 に答える