我如何为这段代码做一个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)。然而,当我刚刚开始时,在做这类事情时我很容易感到困惑。
答案 0 :(得分: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;
});
答案 1 :(得分: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);
}
});
答案 2 :(得分:2)
只需用以下内容替换当前的.prop
:
.prop('disabled', function (_, val) { return ! val; });