html form reset not doing triggering select onchange html表单重置不会触发select的onchange事件。

20 浏览
0 Comments

html form reset not doing triggering select onchange html表单重置不会触发select的onchange事件。

我有一个表单,根据我的选择,字段需要发生变化。但是当我点击重置按钮时,选择框重置为默认值,但选择框上的onchange事件不会触发。有没有办法在我的javascript中添加这个功能呢?

我使用一个type="reset"的按钮进行重置。

$('#newHistoryPart select[name="roundType"]').on('change', function (data) {

$(".answerType").hide();

selected = $(this).find("option:selected").val();

roundTypeChange(selected);

});

0
0 Comments

问题的出现原因是在重置表单时,重置select元素会触发其onchange事件,导致选择框的改变再次触发过滤表格的动作,进而陷入无限循环。

解决方法是在点击重置按钮时,手动触发select元素的change事件。可以通过以下代码实现:

$('input[type="reset"]').click(function() {
    $("select").trigger('change');
});

这样,在重置表单时,会触发select元素的change事件,但不会再次执行过滤表格的动作,从而避免了无限循环的问题。

同时,如果使用了select2插件,可以通过以下代码重置select2选择框:

$(this).find("select").trigger("change");

这样,重置select2选择框时,也不会触发change事件,避免了无限循环的问题。

0
0 Comments

问题出现的原因是当使用HTML表单的reset按钮时,无法触发select元素的onchange事件。解决方法是使用jQuery的prop()方法将selectedIndex属性设置为0。具体代码如下:

$('select[name="roundType"]').prop('selectedIndex',0);

点击这里可以查看示例演示。

0
0 Comments

问题的出现原因是通过HTML表单的reset方法来重置表单时,无法触发select元素的onchange事件。这可能是由于reset方法只会重置表单的值,而不会触发任何事件。

要解决这个问题,可以使用onreset事件代替onchange事件。在表单的reset事件中添加相应的处理逻辑即可。

以下是解决方法的示例代码:

$('#yourform').on('reset', function(){
    // 在这里添加重置表单时的处理逻辑
});

通过将上述代码添加到页面的脚本中,当表单被重置时,会触发绑定的reset事件,并执行相应的处理逻辑。这样就可以在重置表单时执行一些操作,而不仅仅是重置表单的值。

希望以上内容对您有帮助!

0