有条件地禁用 jQuery return 中的复选框

Conditionally disable checkbox in jQuery return

本文关键字:复选框 return jQuery 有条件      更新时间:2023-09-26

我有以下代码;

var isEditable = !self.model.hasPrivilege("UPDATE_INFO") || !self.editInfo;
return "<input type='checkbox' name='flag' class='flag' />";

现在我的问题是在返回输入时,我可以添加条件 isEditable 作为同一return "<input type='checkbox'的一部分

基本上我想返回禁用的复选框,如果 isEditable 是假的,反之亦然?

return '<input type="checkbox" ' + (isEditable ? 'disabled="disabled"' : '') + ' .../>';
我认为

如果这是jQuery,你可以这样说得更清楚:

var isEditable = !self.model.hasPrivilege("UPDATE_INFO") || !self.editInfo, 
    $checkBox = $("<input />", {
        type : "checkbox",
        name : "flag",
        class : "flag",
        disabled : !isEditable // condition to make the returned checkbox disabled
    });
return $checkBox;

这样,即使想要将某些事件绑定到返回的 CheckBox 元素,也可以通过向第二个参数对象添加另一个键来实现,如下所示:

$checkBox = $("<input />", {
    type : "checkbox",
    name : "flag",
    class : "flag",
    disabled : !isEditable, // condition to make the returned checkbox disabled,
    click : doSomething // attached some event
});