2009-10-22 129 views
0
<tr id="tr99"><td>......</td></tr> 

<input type="checkbox" onclick="toggletr(this);" value="val" id="cbox" /> 

的JavaScript:複選框啓用jQuery的

$(document).ready(function() { 

function toggletr(obj) 
{ 
    if(obj.checked) 
     $(#tr99).hide(); 
    else 
     $(#tr99).show(); 
} 

hi.this是我的代碼,在工作人員的添加頁面上運行。 如果用戶處於編輯模式,則在代碼 中檢查該值的值,我的意思是以.cs爲單位。 checkbox.checked ="true"的意思。那個時候我需要讓tr值「tr99」是可見的真實 如果複選框沒有被選中,那麼將tr作爲隱藏。

回答

0

我認爲你希望這種情況發生

$(document).ready(function() { 

    function toggletr(obj){ 
     if(obj.checked){ 
      $("#tr99").show(); 
      $("#cbox").attr("value", "tr99"); 
     }else { 
      $("#tr99").hide(); 
     } 
    } 

}); 

是它?您還可以添加功能直接

function toggletr(obj){ 
    if(obj.checked){ 
     $("#tr99").show(); 
     $("#cbox").attr("value", "tr99"); 
    }else { 
     $("#tr99").hide(); 
    } 
} 
1

採取toggletr方法出了「$(document).ready(function() {

<script type="text/javascript"> 
    function toggletr(obj){ 
     if(obj.checked) 
      $('#tr99').hide(); 
     else 
      $('#tr99').show();} 
</script> 
<tr id="tr99"><td>......</td></tr> 
<input type="checkbox" onclick="toggletr(this);" value="val" id="cbox" /> 
0

如果我是你,我會設置的onclick方法是事件處理程序:

$(function(){ 
$('#cbox').click(function(){ 
    if(this.checked){ 
     $("#tr99").show(); 
     $("#cbox").attr("value", "tr99"); 
    }else { 
     $("#tr99").hide(); 
    } 
}); 
}); 
-1

如果你想做純jQuery,而不是在正常的Javascript(obj.checked)混合....

$(function(){ 
    $("#cbox").click(function(){ 
     if($(this).is(":checked")){ 
      $("#tr99").show(); 
     }else{ 
      $("#tr99").hide(); 
     } 
    }); 
}); 
+0

爲什麼你想這樣做? 'if(this.checked){...}'更簡單,更高效,更具可讀性。 – 2009-10-22 16:57:01

+0

我同意,它更簡單,更高效和可讀。我只是想提供替代品。熟悉jQuery的功能有助於檢查其他功能,如可視性。如果您要在代碼中使用「is」進行其他檢查,那麼我認爲一致性比簡單性更好。另外,將檢查包裝在jQuery中,然後允許方法鏈接。 但是,我同意在這個單例中「this.checked」更好。 – WesleyJohnson 2009-10-22 22:27:28