2014-11-25 30 views
1

我有以下代碼;有條件禁用jQuery中的複選框返回

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

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

現在的問題是,在做對輸入的回報,我可以爲isEditable添加條件爲同一return "<input type='checkbox'

基本上我想返回禁用複選框,如果isEditable是假的,反之亦然部分?

回答

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

小校正:) '返回 '';' 如果'isEditable'爲'false',他想禁用 – ArinCool 2014-11-25 11:52:52

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 
});