所选的单选按钮将通过下拉框显示其相应的城市列表。 例如,在所选的单选按钮“安大略省”上,将出现一个包含匹配城市的下拉框(在本例中,“地区”为安大略省,ID为77)。在PHP和JavaScript之间交换变量
所有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”变量检测的“区域”所选择的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应该工作之间的变量简单的解决方案...但它不”工作。我真的要求有人帮我搞定。
我看来像你期望的'$ regionCode'变量通过运行一些JavaScript来设置,正如你所说,PHP ru ns在服务器上,所以到JavaScript代码运行的时候,该页面早已离开服务器,并且它不能像那样工作。你必须使用ajax来获得一个'newInstance()',它基于在客户端单击的按钮。 – adeneo