首页 > 解决方案 > 页面加载时依赖选择选项的多个 change() 事件不起作用

问题描述

我正在研究一个 php ajax 代码,我可以根据在以前的下拉列表中选择的内容从下拉列表中手动选择选项。我有 3 个下拉菜单 - 国家、州和城市(默认情况下禁用州和城市。)

我想要的是能够在页面重新加载时重新填充 db 中的值。我可以在国家/地区设置值,还可以在 change() 事件的帮助下启用这些字段。例如,选择了 onload country,并且 state 显示了未选择的州列表(来自 db)。City 里面什么都没有,显然是因为 state 还没有被选中。

注意:州和城市的数据是使用 ajax 提取的,因为它显示了加载状态。

代码:

$('#propertyCountry').val('<?= $propCountry; ?>');
$('#propertyCountry').change(); // Works until here
$('#propertyStateProvince').val('<?= $propState; ?>'); // List shows up without selction
$('#propertyStateProvince').change();
$('#propertyCity').val('<?= $propCity; ?>');

这些 php 变量有值,我已经检查过了。我正在寻求帮助。

我已经检查过了trigger('change');,也不起作用。

标签: jqueryajax

解决方案


编码

$('#propertyStateProvince').val('<?= $propState; ?>'); // List shows up without selction
$('#propertyStateProvince').change();

在填充状态列表后,必须在 ajax 返回代码中执行的函数中移动。
然后,当填充城市列表时,必须在返回代码中应用相同的模式。


推荐阅读