gpt4 book ai didi

jquery - 在 jQuery 中,如何确保在设置元素值时触发 onchange 事件?

转载 作者:行者123 更新时间:2023-12-01 07:02:29 27 4
gpt4 key购买 nike

我在 View 上有一个地址 block ,如果用户单击复选框,它可以交换一些数据。我为此使用的 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>

在大多数情况下,这都非常有效。

但是,“国家”和“州”元素是下拉列表,其中州从国家/地区的值级联(即,从国家/地区列表中选择“美国”将填充 50 多个州和地区,同时选择“加拿大” “会给你一个不同的列表)。此级联列表本身运行良好(如果我从“国家/地区”列表中手动选择“美国”或“加拿大”,则正确的值将填充到“国家/地区”列表中)。

问题是,当单击“UseAccountAddress”复选框并且更改“国家/地区”的值时,“州”列表不会更新。

看起来这行......

$("#Country").val($("#PrimaryCountryId").val());

...不会导致 onchange 事件触发。

是否可以在 JavaScript 中添加一行来触发国家/地区的 onchange 事件,以便正确填充州列表?

最佳答案

您可以通过调用 change() 来触发该事件直接:

$("#Country").val($("#PrimaryCountryId").val()).change()

关于jquery - 在 jQuery 中,如何确保在设置元素值时触发 onchange 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975605/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com