2013-11-20 75 views
0

我試圖通過javascript函數顯示並隱藏<fieldset>中的按鈕。但它不起作用,我沒有發現我的錯誤。如何使用javascript顯示和隱藏按鈕?

我FieldSet中:

<fieldset class="buttons"> 
    <dx:ASPxButton ID="btn11" runat="server" Text="Buton 1"> 
    </dx:ASPxButton> 
</fieldset> 

我的複選框:

<input class="checkbox" id="ShowHideButton" name="ShowHideButton" type="checkbox" onchange="valueChanged()" /> 
<label for="ShowHideButton">ShowHideButton</label> 

我的JavaScript函數。

<script type="text/javascript"> 
    function valueChanged() { 
    if ($('#ShowHideButton').is(":checked")) 
     $(".buttons").show(); 
    else 
     $(".buttons").hide(); 
    } 
</script> 
+0

你檢查了頁面,看看有什麼是fieldset的狀態,dx:ASPxButton的狀態是什麼? –

+0

請參閱控制檯中的任何錯誤。在Chrome瀏覽器中按Ctrl + Shift + j。 –

+0

@Mehmet Akyel你可以給[jsfiddle](http://jsfiddle.net/)。 – Prateek

回答

3

在客戶端,按鈕的實際ID將不是ShowHideButton ASP將爲其生成一個唯一的ID。

您需要通過您的JavaScript訪問它通過clientid

試試這個:

function valueChanged() 
{ 
    if ($('#<%=ShowHideButton.ClientID%>').is(":checked")) 
     $(".buttons").show(); 
    else 
     $(".buttons").hide(); 

} 
2

嘗試使用

http://jsfiddle.net/modaloda/7ZNzF/

$(document).ready(function() { 
//set initial state. 
$('#ShowHideButton').val($(this).is(':checked')); 

$('#ShowHideButton').change(function() { 
    if($(this).is(":checked")) { 
     var returnVal = confirm("Are you sure?"); 
     $(this).attr("checked", returnVal); 
    }else{ 
     alert("sd"); 
    } 
    $('#ShowHideButton').val($(this).is(':checked'));   
}); 
}); 
1

謝謝guys.I solved.I是一個愚蠢的我忘了添加此庫

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
+0

你爲什麼把這個放在這裏?這是一條評論,應該在評論區。請熟悉SO。 –