2013-09-27 54 views
1

我正在jsp應用程序上工作,我有一個表單有一個複選框,我從我的數據庫中檢索數據,它有一個名爲「principal」的字段,我可以得到這個字段的值,這是一個布爾值,但我可以根據「主體」的值選中或取消選中複選框。如果檢查複選框,如果布爾值爲真?

這裏是我的JSP代碼:

<tr> 
<td>Principal:</td> 
    <td colspan="2"> 
    <input type="checkbox" id="a_principal" name="a_principal" value="<%=directorio.isPrincipal()%>"/> 
    </td> 
</tr> 

Javascript代碼:

$(function(){ 
    if('#a_principal' == true){ 
     $("input:checkbox").attr('checked', true); 
    }else{ 
     $("input:checkbox").attr('checked', false); 
    } 

}); 

在先進的感謝。

回答

0

嘗試與.prop代替.attr()

$(function(){ 
    if($('#a_principal').val()== "true"){   
     $("input:checkbox").prop('checked',true); 
    }else{ 
     $("input:checkbox").prop('checked', false); 
    } 
}); 

Js Fiddle Demo

+0

它的工作原理!!!,謝謝。 – paulinajr

1

使用prop設置檢查屬性,讓你如果條件合適的。 attr不保證對元素和prop的布爾屬性起作用。 See the difference here。此外,條件'#a_principal' == true始終爲真。

$("input:checkbox").prop('checked', $('#a_principal').length); 
// i dont know if you meant $('#a_principal').prop('checked') then 
$("input:checkbox").prop('checked', $('#a_principal').prop('checked')); 
//but here :checkbx generic selector will select a_principal as well, so be specific 

提供您完整的HTML將有助於解決一個更好的辦法您的問題但是試試這個:

var $principal = $('#a_principal'); 
    $("input:checkbox").not($principal).prop('checked', $principal.prop('checked')); 
+0

感謝您的幫助! – paulinajr

相關問題