PHP Classes

File: assets/js/cities_by_state.js

Recommend this page to a friend!
  Classes of Channaveer Hakari   PHP Dependent Drop Down Tutorial   assets/js/cities_by_state.js   Download  
File: assets/js/cities_by_state.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP Dependent Drop Down Tutorial
Create dependent dropdowns using jQuery AJAX
Author: By
Last change:
Date: 3 years ago
Size: 2,288 bytes
 

Contents

Class file image Download
/** On change of State dropdown trigger the following code */ $('#state').on('change', function () { /** Variable to hold countryId */ var countryId = $('#country').val(); /** Variable to hold stateId */ var stateId = $(this).val(); /** Variable to hold countryStatus */ var countryStatus = $('.country-status'); /** Variable to hold stateStatus */ var stateStatus = $('.state-status'); /** Validate country */ if (countryId == 'undefined' || countryId == '') { countryStatus.html('Please select country'); return false; } /** Validate state */ if (stateId == 'undefined' || stateId == '') { stateStatus.html('Please select state'); return false; } stateStatus.html(''); /** Load the cities based on the country and state selected using AJAX call */ getCitiesByStateId(countryId, stateId); }); /** Function to implement the AJAX cities fetching */ function getCitiesByStateId(countryId, stateId) { var stateStatus = $('.country-status'); stateStatus.html('Loading cities...'); /** AJAX Request to API to fetch cities */ $.ajax({ "url": "api/city_by_state.php", "type": "POST", "dataType": "JSON", "data": { state_id: stateId, /** Even thought I am not using the country field I am passing data so that you may required while your implementation */ country_id: countryId }, "success": function (retObj) { /** Check if the ajax request return data had any error */ if (retObj.status == 'error') { stateStatus.html(retObj.error); return false; } /** If the ajax request return data was success */ /** Variable to store the cities records */ var cities = retObj.data.cities; var cityOptions = '<option value="">Select City</option>'; /** Loop through cities and append to city select dropdown */ $.each(cities, function (key, city) { cityOptions += "<option value='" + city.id + "'>" + city.name + "</option>" }); $('#city').html(cityOptions); stateStatus.html(''); } }); }