我有两个第一个说国家
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是第二个表中的国家,所以现在我需要两个下拉列表,一个用于国家,另一个用于州。第二个下拉值必须根据第一个下拉列表中的所选项目进行更改,并且只要第一个下拉列表中的项目未被选中,就必须禁用第二个下拉列表
发布于 2013-08-30 15:19:54
为Make创建一个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 -将从下面的文件中获取sub,该文件将被附加到目录中
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 '';
}
}https://stackoverflow.com/questions/18526914
复制相似问题