我在视图上有一个地址块,如果用户单击复选框,它可以交换一些数据。我的javascript函数如下:
<script type="text/javascript">
$().ready(function() {
$("#UseAccountAddress").change(function() {
if ($(this).attr("checked")) {
$("#Street1").val($("#PrimaryAddressLine1").val());
$("#City").val($("#PrimaryCity").val());
$("#Country").val($("#PrimaryCountryId").val());
$("#State").val($("#PrimaryStateId").val());
$("#PostalCode").val($("#PrimaryZip").val());
}
else {
$("#Street1, #City, #Country, #State, #PostalCode").val('');
}
});
});
</script>
在大多数情况下,这是非常有效的。
但是,“country”和“state”元素是下拉列表,其中state根据country的值进行级联(即,从country列表中选择“usa”将使州中填充50多个州和地区,而选择“canada”将为您提供不同的列表)。这个级联列表本身工作得很好(如果我从国家列表中手动选择“美国”或“加拿大”,则正确的值将填充州列表)。
问题是,当单击useAccountAddress复选框并更改国家/地区的值时,状态列表不会更新。
似乎这句台词……
$("#Country").val($("#PrimaryCountryId").val());
…不会引发OnChange事件。
是否可以在javascript中添加一行以触发国家/地区的onchange事件,以便正确填充状态列表?