在jQuery返回中有条件地禁用复选框

时间:2014-11-25 11:31:25

标签: javascript jquery

我有以下代码;

var isEditable = !self.model.hasPrivilege("UPDATE_INFO") || !self.editInfo;

return "<input type='checkbox' name='flag' class='flag' />";

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

的一部分

基本上我想在isEditable为false时返回disabled复选框,反之亦然?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

我认为如果这是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 = $("<input />", {
    type : "checkbox",
    name : "flag",
    class : "flag",
    disabled : !isEditable, // condition to make the returned checkbox disabled,
    click : doSomething // attached some event
});