gpt4 book ai didi

jquery 触发器 - 'change' 函数

转载 作者:行者123 更新时间:2023-12-01 03:04:48 24 4
gpt4 key购买 nike

我有一个名为“pick_up_point”的单选按钮集,并且有一个更改处理程序来检测选中的单选按钮。在更改处理程序中,我调用一个函数“clearFields()”,它基本上清除了输入字段。

function clearFields()
{
$("#Enquiry_start_point").val("");
$("#Enquiry_start_town").val("");
$("#Enquiry_start_postcode").val("");
}

$("input[name='pick_up_point']").change(function()
{
if($("input[name='pick_up_point']:checked").val() == "pick_up_airport")
{
$("#pick_up_airport_div").slideDown();
$("#start_point_div").hide();
clearFields();
}
});

我还有一个触发器,如果​​由于验证错误而重新显示表单,它将保留 View 。

$('input[name=\'pick_up_point\']').trigger('change');

现在,当我发布表单时,触发器将运行并调用更改处理程序,该处理程序当然会运行clearFields() 函数。那么我该如何解决这个问题呢?我不希望重新显示表单时清除字段。

最佳答案

尝试使用自定义事件处理程序,如下所示:

$("input[name='pick_up_point']").change(function()
{
$(this).trigger("displayForm");
clearForm();
});

$("input[name='pick_up_point']").bind("displayForm", function() {
if($("input[name='pick_up_point']:checked").val() == "pick_up_airport")
{
$("#pick_up_airport_div").slideDown();
$("#start_point_div").hide();
}
});

因此,不要触发更改事件,而是触发自定义 displayForm 处理程序,如下所示:

$('input[name=\'pick_up_point\']').trigger('displayForm');

现在,当触发 change 时,它会按预期工作,但对于显示表单而不清除输入字段的特殊情况,您只需触发新的自定义事件处理程序即可。

关于jquery 触发器 - 'change' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3266774/

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