根据select in下拉列表计算jquery中的字段

时间:2015-06-11 20:14:04

标签: javascript jquery ruby ajax

我正在尝试制作一个小应用程序来跟踪Ruby的赌注,我有一个小表单,我输入所有类型的数据(日期,匹配等)。表单中最重要的部分是两个文本字段“桩”和“奇数”。我想出了一个简单的jQuery代码,当我输入赌注和奇数数据时计算“潜在支付”,它就是这样:

$(function() {
  $("#stake, #odd").keyup(function() {
    var p = $("#stake").val();
    var q = $("#odd").val();

    $("#potential_payout").val(q * p);
  });
});

现在我想添加一个下拉列表,我可以通过选择“是”或“否”来选择投注是否成功,同时如果赢得了下注则进行另一次计算:

利润=(potential_payout - 赌注),也将在#profit文本字段中实时计算。

我搜索了一个解决方案,但没有找到与我的问题类似的东西(但可能这很容易)。我正在研究如何设置一些全局变量,但无法弄明白,因为我在所有这些javascript,jquery,ajax中都是一个总菜鸟....如果需要我可以发布来自html但我觉得它非常简单

我会感激任何建议。

2 个答案:

答案 0 :(得分:0)

您已拥有大部分代码。只需要执行计算。我也继续前进并缓存选择器。

$(function() {

  var $stake = $('#stake');
      $odd = $('#odd'),
      $won = $('#won'),
      $payout = $('#potential_payout'),
      $profit = $('#profit');

  $stake.on('keyup', calculate);
  $odd.on('keyup', calculate);
  $won.on('change', calculate);

  function calculate() {
    var stake = $stake.val(),
       odd = $odd.val(),
       won = $won.val();
    $payout.val( stake * odd);
    if (won.toLowerCase() === "yes") {
      $profit.val( (stake*odd) - stake );
    }
  } 
});

答案 1 :(得分:0)

我今天玩了,我编辑了下拉列表的红宝石代码

<%= f.select :win, [['Yes','yes'],['No','no']], {include_blank: true, :onchange => "calculate()"}, :id =>"won" %>

来自

<%= f.select :win, [['Yes','yes'],['No','no']], include_blank: true, :id =>"won" %>

现在它有效。谢谢你的帮助!