【问题标题】:getting data using jquery getJSON in ruby on rails在 ruby​​ on rails 中使用 jquery getJSON 获取数据
【发布时间】:2012-09-05 04:23:37
【问题描述】:

我正在尝试通过 getJSON 方法获取账单金额。虽然我收到了金额,但我无法发布。代码如下。

在表格中

<div class="bill">
<%= f.collection_select :customer_bill_id, CustomerBill.all,:id,:id, {:prompt => "Select Customer bill"} %></div><br />

<div class= "due"><%= f.input :bill_due_amount, :label => "Bill Due Amt.", :input_html => { :size => 20} %> </div><br />

js

jQuery(".bill select").bind("change", function() {
        var data = {
        customer_bill_id: jQuery(this).val()  
      }
      jQuery.getJSON(
         "/money_receipts/get_due_amount",
        data,
        function(data){
          var res = "";
      res =  parseFloat(data[0]);
      getAmount = jQuery('.due').val(res);
        });      
    });

在我拥有的控制器中

def get_due_amount
    @due_amount = CustomerBill.find_all_by_id(params[:customer_bill_id]).map{|bill| [bill.bill_due_amount]}if params[:customer_bill_id]
    respond_to do |format|
      format.json { render json: @due_amount }
    end
  end

如果我这样做 alert(res); 我确实得到了金额值但是当我这样做时

getAmount = jQuery('.due').val(res);
        alert(getAmount);

我收到[object Object]

似乎是什么问题?为什么值没有出现在表单中?寻求指导。提前致谢。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3.2 getjson


    【解决方案1】:

    您使用了 jQuery('.due'),但这是一个 div 元素。你需要通过以下方式设置表单输入值,

    jQuery('.due input').val(res); 
    

    它将金额设置为文本框值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2014-05-03
      • 2022-01-15
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多