2012-11-29 175 views
0

我在我的視圖中有一個DropDown菜單,它有一個回調,只要它檢測到更改事件就會被觸發。我想通過ajax將DropDown中選擇的值傳遞給我的Line_items控制器並更新特定的記錄。
不幸的是,$ .ajax對我來說仍然是一個陌生人。Ajax Put請求Select_tag

到目前爲止,我有:

$.ajax(
     type: 'POST', 
     dataType: 'text' 
     url: 'orders/:order_id/line_items/:id', 
     data: 
     "variant_id": selectedData.selectedData.value 

     success: -> 
     alert ('test') 
    ) 

什麼是這樣做的正確方法?

+0

'$ .ajax'相當於'jQuery.ajax'('$'是'jQuery'的別名)。所以你需要做的是閱讀jQuery doc中的這個方法,在這裏:http://api.jquery.com/jQuery.ajax/ –

回答

0

基本上你可以傳遞數據中的那個值作爲json對象;您的功能可能如下所示:

$('#my_dropdown_id').change(function() { 
    var sel_value = $(this).val(); 
    // here you can do some validation, etc; before fire the ajax call if is necessary 
    $.ajax({ 
    url: 'orders/:order_id/line_items/:id', 
    type: 'POST', 
    data: {variant_id: sel_value}, 
    success: function(data) { 
     alert('OK!') 
    } 
    }) 
}); 

然後在您的後端,您可以從post params中獲取該值。即params ['variant_id']

我假設你將使用適當的ID值建立URL;即

url: 'orders/'+ your_order_id +'/line_items/'+ line_item_id,