2013-07-31 93 views
-1

奥凯,我有选择字段变化值变量的JavaScript如果选择字段值变化

<select id="select" required name="bank" > 
    <option value="cash">Cash</option> 
    <option value="debit">Debit Card</option> 
    <option value="cc">Credit Card</option> 
</select> 

和文本字段,以显示价格

<input type="text" id="sub_total" name="sub_total"> 
<input type="text" id="fee" name="fee"> 
<input type="text" id="sum" name="total"> 

和JavaScript

var total = 0; 
var fees = 0; 
var total_fees = fees + total; 

$("#sub_total").val(total); 
$("#fee").val(fees); 
$("#sum").val(total_fees); 

所以点是我想要将“费用”值从“0”更改为“0.1或我想要什么”如果选择信用卡

的pseudecode是

如果选择CC 变种费= '0.1'; else var fees ='0';

回答

1
$('#select').change(function() { 
     if($(this).val() == "cc") 
     { 
     $('#fee').val(0.1); 
     } 
    }); 
+1

FIXED - 对不起,这是错误的,您应该比较“#select”值到“cc” - 这是选择选项的值,而不是“Credit Card”,它是标签。 – Neaox

+0

@Neaox哎呀..谢谢你在SO,phew回答的压力。 – Krishna

+0

ty其工作brooo;) – derylihs

0

使用三元运算基于所述select

var fees = ($("#select").val() === "cc" ? 0.1 : 0); 

你应该在一个功能包这个0和0.1之间进行切换,并选择元件结合于改变该功能。

例如:

var sel = $("#select"); 

function setValue() { 
    var total = 0, 
     fees = (sel.val() === "cc" ? 0.1 : 0); // ternary 

    $("#sub_total").val(total); 
    $("#fee").val(fees); 
    $("#sum").val(fees + total); // sum 
} 

setValue(); // call function 
sel.bind('change', setValue); // bind function to onchange of the select element 
+0

@derylihs是使用jQuery这将是有意义的提供使用jQuery的答案。 – Neaox

+0

@Neaox注意javascript标签 –