2010-08-19 7 views
0

J'ai deux fonctions ajax et utilise la première pour transmettre des données à la seconde mais quand je regarde le POST, je vois que pour la variable je suis envoyé Je reçois l'objet Objet retourné comme la valeur de la variable et non ce que j'attendais soit une chaîne ou un int. Le javascript ressemble à ceci,javascript var return object Objet quand devrait renvoyer un int ou une chaîne

$('.career_select .selectitems').click(function(){ 
    var selectedCareer = $(this).attr('title'); 
    $.ajax({ 
     type: 'POST', 
     url: '/roadmap/step_two', 
     data: 'career_choice='+selectedCareer+"&ajax=true&submit_career=Next", 
     success: function(html){ 
      $('.hfeed').append(html); 
      $('#grade_choice').SelectCustomizer(); 
      } 
    }); 
}); 

$('#grade_choice_options .selectitems').live('click', function(selectedCareer){ 
    var selectedGrade = $('#grade_choice_customselect').val(); 
    $.ajax({ 
     type: 'POST', 
     url: '/roadmap/step_two', 
     data: 'career_choice='+selectedCareer+'&grade='+selectedGrade+"&ajax=true&submit_grades=Next", 
     success: function(html){ 
      window.location.replace("/roadmap/your_map"); 
     } 
    }); 
}); 

Répondre

0

Dans votre deuxième fonction selectedCareer est l'objet d'événement transmis dans la méthode par jQuery, vous voulez probablement utiliser this pour obtenir quels éléments a été cliqué, par exemple $(this).val() pour les entrées de $(this).text() pour obtenir le texte d'un élément.

vous pouvez également transmettre des données d'un objet, en particulier si elle est une valeur complexe (par exemple peut contenir un &), comme ceci:

data: { career_choice: $(this).val(), 
     grade: selectedGrade, 
     ajax: 'true', 
     submit_grades: 'Next' } 
Questions connexes