0

我的视图中有一个下拉菜单,它有一个回调,一旦它检测到更改事件就会被触发。我想通过 ajax 将 DropDown 中选择的值传递给我的 Line_items 控制器并更新特定记录。
可悲的是,$.ajax 对我来说仍然是一个陌生人。

到目前为止,我有:

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

      success: ->
        alert ('test')
    )

这样做的正确方法是什么?

4

1 回答 1

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 参数中获取该值。即参数['variant_id']

我假设您将使用正确的 id 值构建 URL;IE

url: 'orders/'+ your_order_id +'/line_items/'+ line_item_id,
于 2012-11-29T02:49:56.613 回答