2010-10-13 160 views
2

我試圖隱藏一個asp:CheckBox控件,具體取決於某個鏈接是否在屏幕上可見。該複選框有一個文本屬性=「你好」。我試圖在JQuery中做到這一點。JQuery - 隱藏複選框和文本

目前,我有以下幾點:

$(document).ready(function(){ 

    hideCheckboxButtonIfLinkExists(); 

    } ); 

    function hideCheckboxButtonIfLinkExists() { 

     var $myCheckBox = $('#<%= ckMyCheckBox.ClientID %>'); 
     var $myLink = $('#<%= lkMyLink.ClientID %>'); 

     if($myLink .is(':visible')) 
     { 
      $myCheckBox .show();        
     } 
     else 
     { 
      $myCheckBox .hide(); 
     }  

    } 

當我如果鏈接是不可見的打開頁面,則複選框是不可見的,但該複選框文本屬性「你好」是可見的。

我怎樣才能隱藏這呢?

在此先感謝您的幫助。

回答

7

可以顯示/隱藏標籤,以及這樣的:

var $myLabel = $myCheckBox.next('label'); 

if($myLink .is(':visible')) 
    { 
     $myCheckBox.show(); 
     $myLabel.show();     
    } 
    else 
    { 
     $myCheckBox.hide(); 
     $myLabel.hide();     
    } 
} 

我假設你正在使用ASP .NET,所以上面的代碼應該這樣做。如果您的複選框嵌套在標籤中,那麼您可以僅顯示/隱藏標籤。

+0

更新我的代碼:'最接近()'在這種情況下是錯誤的。使用'next()'代替(或'prev',如果標籤就在'input'之前)。 – davehauser 2010-10-13 13:27:49

2

將複選框及其文本包裝到一個元素中,然後顯示/隱藏它。該label元素可能是最好的選擇,因爲它具有其他優點:

<label id="clientid-label"><input type="checkbox"> Hello</label>