JQuery включить / отключить флажок - PullRequest
0 голосов
/ 26 августа 2011

jsFiddle: http://jsfiddle.net/KUcrm/

У меня есть этот код:

HTML

<input id="Check1" type="checkbox" name="ckbRG" tabindex="1" checked /><label for="Check1"> Check1</label><br />
<input name="txt1" type="text" maxlength="10" id="txt1" tabindex="2" />
<br /><br /><br />
<input id="Check2" type="checkbox" name="ckbNome" tabindex="3" checked /><label for="Check2"> Check2</label><br />
<input name="txt2" type="text" maxlength="10" id="txt2" tabindex="2" />

JQuery

$("#Check1").click(function() {
    if ($("#Check1").attr("checked")) {
        $("#txt1").removeAttr("disabled");
    } else {
        $("#txt1").attr("disabled", "disabled");
    }
});


$("#Check2").click(function() {
     if ($("#Check2").attr("checked")) {
         $("#txt2").removeAttr("disabled");
     } else {
         $("#txt2").attr("disabled", "disabled");
     }
    $("#Check1").click();
});

Выбрав Check2, Check1 также должен быть выбран, но, очевидно, событие click на Ckeck1 запускается до изменения состояния Check1 (отмечено / не отмечено). Затем, когда Check1 проверен, txt1 выключен, а когда не выбран, txt1 включен.

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Вы должны использовать .change вместо клика.Он сработает при изменении флажка.

0 голосов
/ 26 августа 2011

Я думаю, что вы хотите:

$("#Check1").click().triggerHandler('click');

http://jsfiddle.net/KUcrm/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...