我一直试图隐藏一个文本框如果复选框被选中再次显示它如果复选框被取消选中源代码如下。

   <asp:CheckBox ID="ShortStoryCheckBox" runat="server" />
<asp:TextBox ID="LeadTextBox" runat="server" Height="77px" TextMode="MultiLine"
        Width="370px"></asp:TextBox>

所以我的目标是在选中ShortStoryCheckBox时隐藏LeadTextBox。如果再次取消选中,我必须显示它。为了实现这一点,我在JQuery的下面进行了尝试。在我使用的Id下面是我从浏览器的源代码视图获得的HTML Id。
<script type="text/javascript">
    $("#ctl00_PlaceHolderMain_Home_ShortStoryCheckBox").change(function () {
        if (this.checked) {
            $("#ctl00_PlaceHolderMain_Home_LeadTextBox").hide();
        }
        else {
            $("#ctl00_PlaceHolderMain_Home_LeadTextBox").show();
        }
    });
</script>

但它不起作用,有谁能帮我怎么做?或者我做错了什么?任何实现这一目标的替代建议也将非常有益。

最佳答案

尝试使用click和prop&一些代码重构

<script type="text/javascript">

$(document).ready(function(){

    $("#<%= ShortStoryCheckBox.ClientID %>").click(function () {
        if ($(this).prop("checked")===true) {
            $("#<%= LeadTextBox.ClientID %>").hide();
        }
        else {
             $("#<%= LeadTextBox.ClientID %>").show();
        }
    });
 });
</script>

09-19 02:15