2017-02-06 29 views
0

我有兩個下拉城市和郵編我的形式。當用戶選擇郵政編碼時,我想將城市下拉菜單更改爲相應的城市w.r.t郵政編碼。我正在嘗試使用Ajax完成此操作。選擇值沒有得到改變使用jQuery和Ajax

jQuery代碼:

$(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函數

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

不適當的responseText阿賈克斯數據的Ajax錯誤功能顯示

+0

什麼是成功的函數變量'city'的值刪除單引號?還分享select元素的html。 –

+0

我正在接收未定義 – Himani

+0

這裏是鏈接:http://accessrealtytampa.com/hillsborough-county-homes-school – Himani

回答

0

不要呼應$ cityId,返回它。

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; 

} 
} 

也刪除select$("#city_id select").val('city');

1

首先檢查的城市價值可能是你的查詢沒有返回有效值。之後,您可以簡單地使用此代碼來設置下拉值。

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

而且從數據

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

我錯過了添加add_action的功能。現在我可以在控制檯日誌中看到數據。它以「:{」city_id「:」8「} 0」的形式出現。與0混淆。我用現在的場景更新我的問題 – Himani

+0

@Himani是的請更新問題。 –

+0

更新了問題 – Himani

相關問題