我有一个表格,有两个选择字段,一个代表地区,一个代表城市/村庄/等的名称。我有一个数据库,其中包含以下形式的所有这些条目:
id (int 11, ai)
region (varchar 50)
city(varchar 50)
我在这里找到了一个脚本,可以让你选择不同的选项,但它是用 JS 编写的,我不知道如何使其适应我的需要。我需要一个数据库,因为我有 13.000 多个条目,并且在代码中手动输入它们并不是一个好主意。这是我读过的主题的链接,它的解决方案也在评论之一中。
如何根据所选的另一个选择选项更改选择选项? https://stackoverflow.com/questions/4480637/how-to-change-a-selections-options-based-on-another-select-option-selected.
如果我需要在降级之前编辑我的帖子,请告诉我。提前致谢!
只需使用 ajax 即可,当一个选择更改时,从服务器获取数据以提供其他选择。
<select class="select_one">
<?php /* render first select ?>
</select>
<select class="select_two"></select>
<script>
$(function() {
$('.select_one').change(function() {
var select = $('.select_two').empty();
$.get('script.php', {region: $(this).val()}, function(result) {
$.each(result, function(i, item) {
$('<option value="' + item.value + '">' + item.name + '</option>').
appendTo(select);
});
});
});
});
</script>
and you script.php
应该从数据库返回 JSON:
if (isset($_GET['region'])) {
$sql = new mysqli('localhost','username','password','database');
$region = mysqli_real_escape_string($sql,$_GET['region']);
$query = "SELECT * FROM cities WHERE region = $region";
$ret = $sql->query($query);
$result = array();
while ($row = $ret->fetch_assoc()) {
$result[] = array(
'value' => $row['id'],
'name' => $row['city']
);
}
echo json_encode($result);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)