2017-04-30 9 views
1

私は、ドロップダウンメニューから州を選択すると、その州の都市リストを選択可能な別のドロップダウンメニューに表示するプログラムを作成しようとしています。あなたの都市と州を選択した後、アドレスを入力してsubmitを押すと、新しいアドレスに完全なアドレスが表示されます。複数のドロップダウンメニュー

たとえば、ドロップダウンメニューから[ニュージャージー]を選択した場合、左側のドロップダウンメニューにNewark、Bloomfield、Edisonの3つの都市が表示されます。

私の問題は現時点では表示されますが、状態が選択されると、2番目のドロップダウンメニューでその都市のオプションリストが表示されません。どんな助けでも感謝しています!

あなたはget_optionが投稿された場​​合は、チェックしている間、あなたのAjaxは "取得" である。このlink

select.php

<head> 
<link rel="stylesheet" type="text/css" href="select_style.css"> 
<script type="text/javascript" src="js/jquery.js"></script> 
<!DOCTYPE html> 
<form action = "display.php"> 
<script type="text/javascript"> 


function fetch_select(val) 
{ 
$.ajax({ 
type: 'get', 
url: 'fetch.php', 
data: { 
    get_option:val 
}, 
success: function (response) { 
    document.getElementById("new_select").innerHTML=response; 
} 
}); 
} 

</script> 

</head> 
<body> 
<p id="heading">Address Generator</p> 
<center> 
<div id="select_box"> 
<select onchange="fetch_select(this.value);"> 
    <option>Select state</option> 




    <?php 
    include ( "accounts.php" ) ; 
($dbh = mysql_connect ($hostname, $username, $password)) 
      or die ("Unable to connect to MySQL database"); 
print "Connected to MySQL<br>"; 
mysql_select_db($project); 

    $select=mysql_query("select state from zipcodes group by state"); 
    while($row=mysql_fetch_array($select)) 
    { 
    echo "<option value='".$row['state']."'>".$row['state']."</option>"; 

    } 
?> 
</select> 

<select id="new_select"> 
</select> 

<div id='2'> </div> 
<br><br> 
<input type = text name="address">Address 
<br><br> 
<input type = submit> 

</form> 

fetch.php

<?php 
include(accounts.php); 
if(isset($_POST['get_option'])) 
{ 
($dbh = mysql_connect ($hostname, $username, $password)) 
      or die ("Unable to connect to MySQL database"); 
print "Connected to MySQL<br>"; 
mysql_select_db($project); 


$state = $_GET['get_option']; 
$find=mysql_query("select city from zipcodes where state='$state'"); 
while($row=mysql_fetch_array($find)) 
{ 
    echo "<option>".$row['city']."</option>"; 
} 
exit; 
} 
?> 

答えて

0

で、この動作を表示することができます。

if(isset($_GET['get_option'])) 
+0

ありがとうございました。 – Gillky

+0

投票してください;) –

0

に変更し、それをこれはあなたの代わりに選択するために、オプションを追加し、それが動作するはずinnerHTMLプロパティに配列を追加することはできません完全に間違っています。

success: function (response) { 
    var select = document.getElementById("new_select"); 
    for (var i from response){ 
     var opt = document.createElement('option'); 
     opt.value = response[i]; 
     opt.innerHTML = response[i]; 
     select.appendChild(opt); 
    } 
} 
+0

私はそれを変更しましたが、それでも正しく機能していないようですが、状態を選択してもまだ都市が表示されません。 – Gillky

関連する問題