2012-11-29 4 views
0

J'ai un menu DropDown dans ma vue qui a un rappel qui est déclenché dès qu'il détecte l'événement de changement. Je veux passer dans la valeur qui est select dans le DropDown à mon contrôleur Line_items via ajax et mettre à jour un enregistrement spécifique.
Malheureusement, le $ .ajax est toujours un étranger pour moi.Ajax Put Demande sur Select_tag

Jusqu'à présent, j'ai:

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

     success: -> 
     alert ('test') 
    ) 

Quelle serait la bonne façon de le faire?

+0

'$ .ajax' est équivalent à' jQuery.ajax' ('$' est un alias pour 'jQuery'). Donc, ce que vous devez faire est de lire cette méthode dans jQuery doc, ici: http://api.jquery.com/jQuery.ajax/ –

Répondre

0

vous pouvez fondamentalement passer cette valeur dans les données en tant qu'objet json; votre fonction peut ressembler à:

$('#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!') 
    } 
    }) 
}); 

puis sur votre arrière-plan, vous pouvez obtenir cette valeur forment les params de poste. c'est-à-dire params ['variant_id']

Je suppose que vous allez construire l'URL en utilisant les valeurs appropriées pour les identifiants; c'est-à-dire

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