у меня есть два, первый говорит страну
country_id country _name 1 India 2 Australia 3 Netherlands the 2nd table is states state_id country state name 1 2 abc 2 2 xyz 3 3 pqr 4 1 lmn 5 1 rst
где country_id
в первой таблице – страна во второй таблице. Итак, теперь я хочу два спускающихся по стране, а другой для состояний. Второе значение выпадающего значения должно измениться в соответствии с выбранным элементом в первом раскрывающемся списке, а второй снимок должен быть отключен, если элементы в первом выпадающем списке не выбраны
Сделайте html, как указано ниже для Make
<?php $sql = "SELECT * FROM country"; $result = mysql_query($sql); ?> <select id="country" name='country' onchange="get_states();"> <option value=''>Select</option> <?php while ($row = mysql_fetch_array($result)) { echo "<option value='" . $row['country_id'] . "'>" . $row['country_name'] . "</option>";} ?> </select> <div id="get_state"></div> // Sub will be appended here using ajax
Напишите функцию ajax get_states ();
<script type="text/javascript"> function get_states() { // Call to ajax function var country = $('#country').val(); var dataString = "country="+country; $.ajax({ type: "POST", url: "getstates.php", // Name of the php files data: dataString, success: function(html) { $("#get_state").html(html); } }); } </script>
Файл getstates.php – получит sub из нижеприведенного файла, который будет добавлен в div
if ($_POST) { $country = $_POST['country']; if ($country != '') { $sql1 = "SELECT * FROM state WHERE country=" . $country; $result1 = mysql_query($sql1); echo "<select name='state'>"; echo "<option value=''>Select</option>"; while ($row = mysql_fetch_array($result1)) { echo "<option value='" . $row['state_id'] . "'>" . $row['state_name'] . "</option>";} echo "</select>"; } else { echo ''; } }