gpt4 book ai didi

javascript - PHP:如何根据另一个选择的选择更改选择的值

转载 作者:行者123 更新时间:2023-11-28 06:15:33 26 4
gpt4 key购买 nike

我有一个包含国家/地区的选择和一个包含城市的选择,我想根据国家/地区选择的选择在城市选择中显示不同的值。

类似于:值=国家/地区.选择

从城市中选择城市,其中国家/地区 = 值

$myrow[城市]

请参阅下面的代码(这会将值从数据库中添加到“选择”中并填充它们。

可能有更好的方法来编码我已经编码的内容,我也非常感谢任何使其更容易、更高效的建议。

另外,如果用 Javascrip 或 jQuery 更好或更容易做到这一点,我也会接受这个方向的建议。

非常感谢

<html>
<body>


<select name="taskOption" id="drop_drop">
<?php
$db = pg_connect('host=localhost dbname=test user=myuser password=mypass');

$query = "SELECT country FROM countries";

$result = pg_query($query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}

printf ("<option value=Select>Select a Country</option>");
while($myrow = pg_fetch_assoc($result)) {

printf ("<option value=$myrow[country]>$myrow[country]</option>");

}

?>

</select>


<select name="taskOption" id="drop_drop">
<?php
$db = pg_connect('host=localhost dbname=test user=myuser password=mypass');

$query = "SELECT city FROM cities";

$result = pg_query($query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}
printf ("<option value=Select>Select a City</option>");
while($myrow = pg_fetch_assoc($result)) {

printf ("<option value=$myrow[city]>$myrow[city]</option>");

}

?>

</select>

</body>
</html>

最佳答案

当国家/地区发生变化时,您必须发出请求,将国家/地区的值传递给服务器以查找其城市。

     <!-- Note id change here -->
<select name="taskOption" id="countries">
<?php
$db = pg_connect('host=localhost dbname=test user=myuser password=mypass');

$query = "SELECT country FROM countries";

$result = pg_query($query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}

printf ("<option value=Select>Select a Country</option>");
while($myrow = pg_fetch_assoc($result)) {

printf ("<option value=$myrow[country]>$myrow[country]</option>");

}

?>

</select>

<select name="taskOption" id="cities">
<?php
$db = pg_connect('host=localhost dbname=test user=myuser password=mypass');

// Note query change here.
$selectedCountry = $_GET['country'];

$query = "SELECT city FROM cities where country_id = " + $selectedCountry;

$result = pg_query($query);
if (!$result) {
echo "Problem with query " . $query . "<br/>";
echo pg_last_error();
exit();
}
printf ("<option value=Select>Select a City</option>");
while($myrow = pg_fetch_assoc($result)) {

printf ("<option value=$myrow[city]>$myrow[city]</option>");

}

?>

</select>

<script type='text/javascript'>
// Note this new script.
$(document).ready(function(){
$('#countries').on('change', function(){
window.location += '?country=' + $(this).val();
});
});
</script>

请注意select元素中的id属性,并小心可能的SQL注入(inject)。

关于javascript - PHP:如何根据另一个选择的选择更改选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com