Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Ruby on rails 如何在rails表单的第三个文本字段中添加两个文本字段值?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何在rails表单的第三个文本字段中添加两个文本字段值?

Ruby on rails 如何在rails表单的第三个文本字段中添加两个文本字段值?,ruby-on-rails,Ruby On Rails,我有一个要求,我们必须添加两个文本字段,并在第三个字段中插入值,该字段存储为字符串。 在下表中,我想将每单位的数量和价格相乘,并将值存储在total_amount字段中,该字段应为只读。 请帮帮我 这是我的表格: <%=form_for([:invoice_detail,@multiple_good], html: {class: 'form-horizontal', role: 'form' }) do |f| %> <div class="field">

我有一个要求,我们必须添加两个文本字段,并在第三个字段中插入值,该字段存储为字符串。 在下表中,我想将每单位的数量和价格相乘,并将值存储在total_amount字段中,该字段应为只读。 请帮帮我

这是我的表格:

<%=form_for([:invoice_detail,@multiple_good], html: {class: 'form-horizontal', role: 'form' }) do |f| %>

    <div class="field">
      <%= f.label :description_of_goods, :class => 'control-label' %>
      <div class="controls">
        <%= f.text_field :description_of_goods, :class => 'text_field', :required => true,:maxlength => 20, :placeholder => '20 Alpha numeric characters'  %>
      </div>
    </div>

    <div class="field">
      <%= f.label :quatity, :class => 'control-label' %>
      <div class="controls">
        <%= f.text_field :quatity, :class => 'text_field', :required => true,:maxlength => 20, :placeholder => 'Enter quatity'  %>
      </div>
    </div>

    <div class="field">
      <%= f.label :price_per_unit, :class => 'control-label' %>
      <div class="controls">
        <%= f.text_field :price_per_unit, :class => 'text_field', :placeholder => 'Enter price Per unit'  %>
      </div>
    </div>

    <div class="field">
      <%= f.label :total_amount, :class => 'control-label' %>
      <div class="controls">
        <%= f.text_field :total_amount, :class => 'text_field', :placeholder => 'Enter Total Amount '  %>
      </div>
    </div>

    <div class="form-actions2"style="text-align:center">
      <%= f.submit  :class => 'btn btn-primary' %>
    </div>
    </div>

<% end %>

'控件标签'%>
“text_field',:required=>true,:maxlength=>20,:placeholder=>20个字母数字字符'%>
'控件标签'%>
“text\u field',:required=>true,:maxlength=>20,:placeholder=>”输入数量“%”
'控件标签'%>
'文本\字段',:占位符=>'输入每单位价格'%>
'控件标签'%>
'文本\字段',:占位符=>'输入总金额'%>
“btn btn主节点”%>

有多种方法可以做到这一点

因此,数据库中只有一列,
total\u amount
,您可以在您的模型中设置attr\u accessor,然后在保存之前设置total\u amount

如果你想让它像一个实时的东西,那么你需要JS,这很简单。 你可以


但我想说这是不好的,因为我可以很容易地使用web检查器删除readonly并自己设置值。但是,如果您将
价格
数量
作为数据库字段,则不必担心在服务器端保留验证。

可以有多种方法来实现这一点

因此,数据库中只有一列,
total\u amount
,您可以在您的模型中设置attr\u accessor,然后在保存之前设置total\u amount

如果你想让它像一个实时的东西,那么你需要JS,这很简单。 你可以


但我想说这是不好的,因为我可以很容易地使用web检查器删除readonly并自己设置值。但是如果你有
price
quantity
作为数据库字段,那么你不必担心在服务器端进行验证。

尝试此JS添加两个文本字段并在第三个文本字段中显示总值,此JS将自动更新文本字段中的总额,而无需单击

$(document).on("keyup", "#quantity, #price", function() {
  var price = $("#price").val();
  var quantity = $("#quantity").val();
  var total = parseInt(price) * parseInt(quantity);
  $("#total-amount").val(total);
});

谢谢。

尝试此JS添加两个文本字段并在第三个文本字段中显示总值,此JS将自动更新文本字段中的总额,无需单击

$(document).on("keyup", "#quantity, #price", function() {
  var price = $("#price").val();
  var quantity = $("#quantity").val();
  var total = parseInt(price) * parseInt(quantity);
  $("#total-amount").val(total);
});
<script type='text/javascript'>
$(document).on("keyup", "#item_cgst, #item_sgst", function() {
var val1 = +$("#item_cgst").val();
var val2 = +$("#item_sgst").val();
$("#item_igst").val(val1+val2); 
});
</script>
谢谢。


<script type='text/javascript'>
$(document).on("keyup", "#item_cgst, #item_sgst", function() {
var val1 = +$("#item_cgst").val();
var val2 = +$("#item_sgst").val();
$("#item_igst").val(val1+val2); 
});
</script>
$(文档).on(“键控”,即“项目cgst,#项目sgst”,函数(){ var val1=+$(“#item_cgst”).val(); var val2=+$(“#item_sgst”).val(); 美元(“#项目#igst”).val(val1+val2); });
试试这个,它对我有用。


$(文档).on(“键控”,即“项目cgst,#项目sgst”,函数(){
var val1=+$(“#item_cgst”).val();
var val2=+$(“#item_sgst”).val();
美元(“#项目#igst”).val(val1+val2);
});

试试这个,它对我有用。

谢谢你的回答。实际上,价格、数量和总金额都是数据库字段。那么,您应该在模型中显式地设置值,
保存之前:例如proc{self.total\u amount=price*quantity}
。我遇到了一个错误,因为无法将字符串转换为整数,不必麻烦,只需修改价格和数量即可。价格和数量取决于答案。实际上,价格、数量和总金额都是数据库字段。那么,您应该在模型中显式地设置值,
保存之前:例如proc{self.total\u amount=price*quantity}
。我遇到了一个错误,因为无法将字符串转换为整数,不必麻烦,只需修改价格和数量即可。价格和数量