Frage

Ich habe zwei Ajax-Funktionen und nutze die ersten einige Daten auf den zweiten jedoch passieren, wenn ich auf der Post sehen, ich sehe, dass für die Variable I gesendet werde ich Objekt Objekt bin immer als Wert der Variablen zurück und nicht das, was ich erwartet hatte entweder einen String oder ein int. Die Javascript sieht wie folgt aus,

    $('.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");
        }
    });
});
War es hilfreich?

Lösung

In Ihrer zweiten Funktion selectedCareer wird das Ereignis Objekt in die Methode von jQuery übergeben, wollen Sie wahrscheinlich zu verwenden this zu erhalten, welche Elemente geklickt wurde, z.B. $(this).val() für Eingänge von $(this).text() eines Elements Text zu erhalten.

Sie können auch Daten übergeben ein ein Objekt, vor allem wenn es ein komplexer Wert (zum Beispiel kann ein & enthalten), wie folgt aus:

 data: { career_choice: $(this).val(),
         grade: selectedGrade,
         ajax: 'true',
         submit_grades: 'Next' }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top