Javascript 表单重置导致问题(jQuery)

Javascript 表单重置导致问题(jQuery),javascript,jquery,forms,Javascript,Jquery,Forms,。。。几乎奏效了。请检查小提琴 但问题是: 选中“一”并从下拉列表中选择“二” 单击“重置” 再次选中“一”,然后尝试从下拉列表中选择“二” 下拉菜单将自动禁用 非常感谢你的帮助 您应该在重置期间触发更改处理程序。替换 $(function () { function f1() { if (this.checked) { $('select[name=two]').removeAttr('disabled'); } else {

。。。几乎奏效了。请检查小提琴

但问题是:

  • 选中“一”并从下拉列表中选择“二”
  • 单击“重置”
  • 再次选中“一”,然后尝试从下拉列表中选择“二” 下拉菜单将自动禁用


    非常感谢你的帮助

    您应该在重置期间触发更改处理程序。替换

    $(function () {
        function f1() {
            if (this.checked) {
                $('select[name=two]').removeAttr('disabled');
            } else {
                $('select[name=two]').attr('disabled', true);
            }
        }
        $('input[name=one]').change(f1).triggerHandler('change');
        $('.reset').click(function () {
            $('input[name=one]').removeAttr('checked').end().click(f1);
        })
    });
    


    .

    这不是一个直接的答案,但对于您正在做的事情来说,这感觉有点太复杂了,特别是如果表单将来会增长。也许是存储init。使用
    clone()
    的状态会更好:
    $('input[name=one]').removeAttr('checked').end().click(f1);
    
    $('input[name=one]').removeAttr('checked').triggerHandler('change');