表单重置导致问题(jQuery)

时间:2010-09-05 03:17:56

标签: javascript jquery forms

$(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);
    })
});

......几乎有效。请检查小提琴here

但问题是:

  1. 选中“一个”并从下拉菜单中选择“两个”。
  2. 点击“重置”。
  3. 再次选中'one'并尝试从下拉菜单中选择'two'。
  4. 下拉列表会自动停用!

    非常感谢你的帮助!

1 个答案:

答案 0 :(得分:2)

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

$('input[name=one]').removeAttr('checked').end().click(f1);

通过

$('input[name=one]').removeAttr('checked').triggerHandler('change');

Here's a new fork