Tôi đang cố gắng như sau. Tùy chọn chọn khách hàng trong biểu mẫu chính. khi người dùng chọn một khách hàng trong biểu mẫu chính, hóa đơn của anh ta sẽ xuất hiện trong tất cả các partials tiếp theo.Hành động mặc định được thực hiện bởi jQuery trên một phần dữ liệu trong ruby trên đường ray
Tôi đang sử dụng đá quý nested_form của ryan bates để lấy một phần. mã như sau.
<%= simple_nested_form_for @money_receipt do |f| %>
<div class="customers"><%= f.collection_select :customer_id, Customer.all, :id, :name, options ={:prompt => "-Select a Customer"}, :style=>'width:210px;'%></div><br />
/*rest of the code*/
<%= f.link_to_add "Add line items", :money_receipt_line_items %>
bên trong phần
<div class="bill">
<%= f.collection_select :customer_bill_id, CustomerBill.all,:id,:id, {:prompt => "Select Customer bill"}, :style => 'width:202px;' %></div><br />
/*rest of the code*/
mã jQuery cho ở trên là như sau
jQuery(document).ready(function(){
jQuery(".customers select").bind("change", function() {
var data = {
customer_id: jQuery(this).val()
}
jQuery.getJSON(
"/money_receipts/get_bills",
data, function(data){
var result = "",a,x;
var b = "<option>Select customer Bill</option>"
for(i=0;i<data.length; i++)
{
a = data[i];
result = result + "<option value="+a[0]+">"+a[0]+"</option>";
console.log(result);
}
child=jQuery('.bill select').html(b+result);
});
});
});
và cuối cùng trong bộ điều khiển tôi có. def get_bills
@bill_amount = CustomerBill.find_all_by_customer_id(params[:customer_id]).map{|bill| [bill.id]} if params[:customer_id]
respond_to do |format|
format.json { render json: @bill_amount }
end
end
tôi đã cố gắng để lọc các hóa đơn và đưa vào div id bill
. Bây giờ nếu tôi làm console.log
trong mã jQuery, tôi đang nhận được customer_id và các hóa đơn nhưng tôi không thể đăng nó. nếu tôi làm console.log
trên child
tôi nhận được kết quả đầu ra là jQuery()
này. Tôi làm sai ở đâu? có cách nào tốt hơn để đạt được điều này không? cần có hướng dẫn. Cảm ơn trước.
Cảm ơn bạn, điều này là tuyệt vời :) nhưng làm thế nào để áp dụng các phương pháp trên cho một hình thức lồng nhau? chính xác tôi nếu tôi sai tôi tin rằng điều này áp dụng s chỉ một phần. – deeraj