2013-08-30 74 views
0

選擇值填充一個下拉列表,我有兩個一日一說,國家我怎樣才能從另一個下拉列表中

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在第一個表是第二個表 國家所以現在我要爲國家和國家兩個國家下降。第二個下拉值必須根據第一個下拉列表中的選定項目進行更改,並且只要第一個下拉列表中的項目未被選中,就必須禁用第二個下拉列表

+0

要求瞭解子,但你嘗試任何事情,所以不是來拿?解決方案爲您的問題網站 – iJade

+0

可能重複的[如何通過從另一個下拉列表中選擇值填充下拉列表?](http://stackoverflow.com/questions/13953085/how-can-i-populate-a-從另一個下拉列表中選擇下拉列表) –

回答

4

執行下面給出的html製作

<?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 - 會得到下面的文件,該文件將被追加到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 ''; 
    } 
} 
+0

好幫手。謝謝 –

+0

先生,爲什麼我的ajax沒有激活,只要我從下拉列表中選擇?你能指教getstates.php中的'$ country'嗎?它是表名還是列? – WTFZane

相關問題