Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以字段-RubyonRails的形式动态计算平衡_Javascript_Jquery_Ruby On Rails_Ruby - Fatal编程技术网

Javascript 以字段-RubyonRails的形式动态计算平衡

Javascript 以字段-RubyonRails的形式动态计算平衡,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,我只想在new.html.erb中动态计算rails表单_中的平衡 请查看以下图示 在表单中,我希望检索具有新金额和折扣值的以前余额值的余额 _form.html.erb <div class="form-group"> <%= f.label :amount %><br> <%= f.text_field :amount, class: "form-control", id: "calculate_amount" %

我只想在new.html.erb中动态计算rails表单_中的平衡

请查看以下图示

在表单中,我希望检索具有新金额和折扣值的以前余额值的余额

_form.html.erb

    <div class="form-group">
      <%= f.label :amount %><br>
      <%= f.text_field :amount, class: "form-control",  id: "calculate_amount" %>
    </div>
    <div class="form-group">
      <%= f.label :discount %><br>
      <%= f.text_field :discount, class: "form-control",  id: "calculate_discount" %>
    </div>

    <div class="form-group">
      <%= f.label :balance, "Balance" %><br>
      <%= f.text_field :balance, class: "form-control", id: "calculate_balance" %>
    </div>




new.html.erb

<%= render 'form' %>

<script>
    $('input[type="text"]').on('blur', function() { 

        var Calc_amount = $('#calculate_amount');
        Calc_amount;
        var amount = Calc_amount.val();
        amount;

        var Calc_discount = $('#calculate_discount');
        Calc_discount
        var discount = Calc_discount.val();
        discount

        var Calc_balance = $('#calculate_balance');

        Calc_balance;

        var balance = amount - discount;

        balance;


    });


    </script>

$('input[type=“text”]”)。在('blur',function(){
var计算金额=$(“#计算金额”);
计算金额;
var金额=计算金额.val();
数量
var计算折扣=$(“#计算折扣”);
计算折扣
var折扣=计算折扣.val();
折扣
var计算余额=$(“#计算余额”);
计算余额;
var余额=金额-折扣;
平衡;
});
在控制台中,我得到了想要的输出,但无法以rails的形式实现。我搜索了,但没有找到,而且我不太擅长jquery

欢迎提出任何建议


提前谢谢。

您正在从DOM元素中读取值,这很好,但需要将其设置回DOM(结果,平衡)


这将设置余额文本框的值。

您就快到了,只需稍微清理一下,然后分配余额: 更新的答案,我想你想要这样的东西,但你可以基于此进行修改:

<%= form_tag '/', method: :get do %>
    <div class="form-group">
         <%= label_tag :amount %><br>
         <%= text_field_tag :amount  %>
     </div>
     <div class="form-group">
         <%= label_tag :discount %><br>
         <%= text_field_tag :discount  %>
     </div>
     <div class="form-group">
         <%= label_tag :balance, "Balance" %><br>
         <%= text_field_tag :balance %>
     </div>

        <div class="form-group">
            <%= label_tag :show_math, "Math" %>
            <%= text_field_tag :show_math %>
     </div>
<% end %>

<script>
        $('input[type="text"]').on('blur', function() {
                var Calc_amount = $('#amount');
                var amount = Calc_amount.val();

                var Calc_discount = $('#discount');
                var discount = Calc_discount.val();

                var Calc_balance = $('#balance');

                var balance = amount - discount;

                var showMath = $('#show_math');
                var mathString = "=previous balance  + " + amount + " - " + discount + " = " + balance
                showMath.val(mathString)

                Calc_balance.val(balance);

        });
  </script>




$('input[type=“text”]”)。在('blur',function()上{ var计算金额=$('金额'); var金额=计算金额.val(); var计算折扣=$('折扣'); var折扣=计算折扣.val(); var计算余额=$('余额'); var余额=金额-折扣; var showMath=$('show#u math'); var mathString=“=以前的余额+”+金额+“-”+折扣+“=”+余额 val(mathString) 计算余额val(余额); });
谢谢您的回复。如何将以前的余额添加到新余额中。@穆罕默德·亚辛现在检查谢谢您的回复。@穆罕默德·亚辛没问题。我做了编辑,可以稍微短一点。您完全正确,但我还需要获得以前的余额。例如,请参阅更新的代码,不确定是否要这样显示,但您应该能够基于此进行修改。谢谢。我在show_数学字段中得到“=previous balance+1000-50=950”,但没有得到previous balance值。
<%= form_tag '/', method: :get do %>
    <div class="form-group">
         <%= label_tag :amount %><br>
         <%= text_field_tag :amount  %>
     </div>
     <div class="form-group">
         <%= label_tag :discount %><br>
         <%= text_field_tag :discount  %>
     </div>
     <div class="form-group">
         <%= label_tag :balance, "Balance" %><br>
         <%= text_field_tag :balance %>
     </div>

        <div class="form-group">
            <%= label_tag :show_math, "Math" %>
            <%= text_field_tag :show_math %>
     </div>
<% end %>

<script>
        $('input[type="text"]').on('blur', function() {
                var Calc_amount = $('#amount');
                var amount = Calc_amount.val();

                var Calc_discount = $('#discount');
                var discount = Calc_discount.val();

                var Calc_balance = $('#balance');

                var balance = amount - discount;

                var showMath = $('#show_math');
                var mathString = "=previous balance  + " + amount + " - " + discount + " = " + balance
                showMath.val(mathString)

                Calc_balance.val(balance);

        });
  </script>