2017-02-06 2 views
0

Ich habe zwei Dropdowns Stadt und Postleitzahl in meinem Formular. Wenn eine Postleitzahl vom Benutzer ausgewählt wurde, möchte ich das Stadt-Dropdown auf die entsprechende Postleitzahl der Stadt w.r.t ändern. Ich versuche dies mit Ajax zu erreichen.Wählen Sie Wert wird nicht geändert mit jQuery und Ajax

jQuery-Code:

$(document).on('change','#zip_id', function(e){ 
e.preventDefault(); 
var zipID = jQuery(this).val(); 
if(zipID){ 
jQuery.ajax({ 
    url: ajaxschoolajax.ajaxurl, 
    data: {'zip_id': zipID, 'action':'cityOptions_Process'}, 
    type: 'POST', 
    success: function(data){ 
     jQuery('#temp').html(data); 
}, 

error: function (exception) { 
    console.log("Error"); 
      console.log(exception); 
     } 
}); 

PHP Funktion

function cityOptions_Process() { 
    if(isset($_POST["zip_id"]) && !empty($_POST["zip_id"])){ 
     $selectedZip = $_POST["zip_id"]; 
     global $wpdb; 

     $sql = "SELECT `city_id` FROM `wp_gj73yj2g8h_hills_zipcodes` WHERE zip_id = '$selectedZip'"; 
     $data = $wpdb->get_row($sql); 
     $output = $data->city_id; 
     echo $output; 
     die(); 
} 
} 

add_action('wp_ajax_nopriv_cityOptions_Process', 'cityOptions_Process'); 
add_action('wp_ajax_cityOptions_Process', 'cityOptions_Process'); 

Showing Inappropriate Data

Unangemessen response Daten Ajax zeigt in Ajax Fehler Funktion

+0

entfernen, was Wert der Variablen 'city' in Erfolgsfunktion? Teilen Sie auch HTML von Select-Element. –

+0

Ich erhalte als undefined – Himani

+0

Hier ist der Link: http://accessrealtytampa.com/hillsborough-county-homes-school – Himani

Antwort

0

Sie die $ cityId nicht Echo, es zurückgeben .

function cityOptions_Process() { 
if(isset($_POST["zip_id"]) && !empty($_POST["zip_id"])){ 
    $selectedZip = $_POST["zip_id"]; 
    global $wpdb; 
    $cityId = $wpdb->get_results($wpdb_prepare("select city_id from `wp_gj73yj2g8h_hills_zipcodes` WHERE zip_id=%d",$selectedZip)); 
    return $cityId; 

} 
} 

auch die select in $("#city_id select").val('city');

1

Prüfen Sie zuerst den Wert der Stadt entfernen Ihre Abfrage sein wird, um den gültigen Wert nicht zurück. Danach können Sie diesen Code einfach verwenden, um den Dropdown-Wert festzulegen.

$('#city_id').val(city); 

auch einzelne Zitate aus Daten

data: {zip_id: zipID, action:'cityOptions_Process'}, 
+0

Ich habe das Hinzufügen add_action Funktionalität verpasst. Jetzt kann ich die Daten in meinem Konsolenprotokoll sehen. Es kommt in Form von ": {" city_id ":" 8 "} 0". Bin mit der 0 verwechselt. Ich aktualisiere meine Frage mit dem gegenwärtigen scenerio – Himani

+0

@Himani ja bitte aktualisieren Sie die Frage. –

+0

aktualisiert die Frage – Himani

Verwandte Themen