1

我将如何为这段代码做一个 if...then 语句?

  $('body').on('click', '.icon-lock', function () {
        var lockedarea = $(this).parents(0).eq(2);
    $(lockedarea).find('input[type=text],input[type=checkbox],textarea,select').prop('disabled', true);
  });

现在,当我单击它时,只要这些输入变得不可编辑,我想要发生的事情就会发生。但是我想说的是,如果按下此按钮,就会发生这种情况。如果再次按下它,则 .prop('disabled', false)。但是,当我刚刚开始时,在做这种事情时我很容易感到困惑。

4

3 回答 3

5

您需要跟踪是否要在某种变量中禁用它。尝试这个:

var disable = true;
$('body').on('click', '.icon-lock', function () {
    var lockedarea = $(this).parents(0).eq(2);
    $(lockedarea).find('input[type=text],input[type=checkbox],textarea,select').prop('disabled', disable);
    disable = !disable;
});
于 2013-09-06T18:34:06.603 回答
3

使用一些flag

var isDisabled = false;
$('body').on('click', '.icon-lock', function () {
    var lockedarea$ = $(this).parents(0).eq(2),
        inputs$ = lockedarea$.find('input[type=text],input[type=checkbox],textarea,select');
    if ( isDisabled ) {
        isDisabled = false;
        inputs$.prop('disabled', false);
    } else {
        isDisabled = true;
        inputs$..prop('disabled', true);
    }
});
于 2013-09-06T18:35:27.720 回答
2

只需将您的电流替换.prop为:

.prop('disabled', function (_, val) { return ! val; });
于 2013-09-06T18:38:46.587 回答