これは何度も質問され、答えられたと思いますが、実用的な解決策を見つけることができません。最初のメニューでの選択に基づいて、2番目のメニューにデータを入力したい:
<form id="form1" name="form1" method="post" action="">
<select name="sub_discipline" id="sub_discipline">
<option>Select Sub-discipline...</option>
<?php
$query = mysql_query("SELECT * from sub_discipline ORDER BY name ASC");
for($i=0;$i<mysql_num_rows($query);$i++) {
$row=mysql_fetch_assoc($query);
?>
<option value="<?php echo $row['sub_discipline_pk']; ?>"><?php echo $row['name']; ?></option>
<?php
}
?>
</select>
<select name="topic_place" id="topic_place">
<option>Select Topic...</option>
</select>
</form>
私は次のjsを持っています:
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(function() {
$(':input[name=sub_discipline]').change(function(e) {
$.get(
'get_topics.php',
{'sub_discipline_pk':$(this).val()},
function(data) {
$(':input[name=topic_place]').html( data );
},
'html'
);
}).change();
});
</script>
get_topics.phpには
$sub_discipline_pk = $_GET['sub_discipline_pk'];
$query = "SELECT * FROM topic WHERE sub_discipline_fk = '$sub_discipline_pk'";
$result = mysql_query($query, $connection) or die(mysql_error());
while ($row = mysql_fetch_array($result)) { ?>
<option value="<?php echo $row['topic_pk']; ?>">
<?php echo $row['title']; ?></option>
<?php }
?>
get_topics.phpは以下を返します:
<option value="1">
Topic 1</option>
<option value="2">
Topic 2</option>
したがって、上記は機能する必要があります...
助けてくれてありがとう!