【问题标题】:Jquery change the variable value if select field change如果选择字段更改,Jquery会更改变量值
【发布时间】:2013-07-31 03:27:37
【问题描述】:

我有选择字段

<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 或任何我想要的”

伪解码是

如果选择抄送 var 费用 = '0.1'; 别的 var 费用 = '0';

【问题讨论】:

标签: javascript jquery html math


【解决方案1】:
    $('#select').change(function() {
      if($(this).val() == "cc")
      {
         $('#fee').val(0.1);
      }
   });

【讨论】:

  • 已修复 - 抱歉,这是错误的,您应该将“#select”值与“cc”进行比较 - 这是该选择选项的值,而不是标签的“信用卡”。
  • @Neaox 哎呀..感谢您在 SO 中回答的压力,唷。
  • @derylihs nice.. 很高兴为您提供帮助
【解决方案2】:

使用三元运算符根据select 值在 0 和 .1 之间切换

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

您应该将 this 包装在一个函数中,并在更改时将 select 元素绑定到此函数。

例如:

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

【讨论】:

  • @derylihs 正在使用 jQuery,因此提供使用 jQuery 的答案是有意义的。
  • @Neaox 注意 javascript 标签
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 2016-09-28
相关资源
最近更新 更多