选中的单选按钮将通过下拉框显示其对应的城市列表。例如,在选中单选按钮“安大略”时,将显示一个带有匹配城市的下拉框(在本例中,“地区”是安大略,id 是 77)。
下面示例中提到的所有 PHP 函数、循环和 JavaScript 代码都可以正常工作:
<script type="text/javascript">
$(document).ready(function(){
$('#locationTree input:radio').change(function() {
var buttonPressed = $('input:radio[name=Region]:checked').val();
if(buttonPressed == 77) {
var listCities = $("select[name='City']");
<?php View::newInstance()->_exportVariableToView(77); ?>
<?php while(has_list_cities()) { ?>
$("<option><?php echo list_city_name(); ?></option>").appendTo(listCities);
<?php } ?>
}
});
});
</script>
要获取不同地区的城市列表,而不是具体到 77,我可以稍微更改 PHP 代码,如下所示:
<?php View::newInstance()->_exportVariableToView($regionCode); ?>
由于变量 'buttonPressed' 检测到选定的 'Region' id,我可以添加以下简单脚本:
<?php $regionCode = "<script>document.write(buttonPressed)</script>"; ?>
上述改动后:
var listCities = $("select[name='City']");
<?php $regionCode = "<script>document.write(buttonPressed)</script>"; ?>
<?php View::newInstance()->_exportVariableToView($regionCode); ?>
我知道 PHP 在服务器端运行,而 JavaScript 在客户端运行,但我认为我在 PHP 和 JavaScript 之间交换变量的简单解决方案应该可以工作……但它不起作用。我真的要求有人帮我让它工作。