【问题标题】:JQuery.css("display") = "block" not workingJQuery.css("display") = "block" 不工作
【发布时间】:2022-03-08 13:39:50
【问题描述】:

我想根据在RadiobuttonList 中选择的值显示和隐藏我的TextBox。我为此编写了以下代码

$("#<%= rbtnIsPFEnabled.ClientID %>").click(function () {
                pfno = $("#<%= txtPFNo.ClientID %>");
                if ($("#<%= rbtnIsPFEnabled.ClientID %> input:checked").val() == "Yes") {
                    pfno.css("dispay") = "block";
                }
                else
                    pfno.css("dispay") = "none";
            });

虽然我已经通过使用JQuery.show()JQuery.hide() 完成了我的任务,但我并不满意,因为我想知道为什么第一种方法会失败。其次是我在上面的代码中使用了$("#&lt;%= rbtnIsPFEnabled.ClientID %&gt;"),我可以通过第二次使用this 或其他任何东西将它减少到一个吗?

我尝试了$(this+" input:checked").val()$(this.toString()+" input:checked").val(),但没有成功,所以我不得不重复一遍。

【问题讨论】:

    标签: javascript jquery css asp.net


    【解决方案1】:
    $("#id").css("display", "none");
    $("#id").css("display", "block");
    

    如果您的pfno 包含您的 ID

    那么这应该可以工作

    $(pfno).css("display", "none");
    $(pfno).css("display", "block");
    

    您应该使用 FireBug 进行调试

    编辑:

    <script type="text/javascript">
        function fun(obj) {
    
            if ($("#<%= rbtnIsPFEnabled.ClientID %> input:checked").val()=='Yes') {
                $("#<%= txtPFNo.ClientID %>").css("display", "block");
            }
            else {
                $("#<%= txtPFNo.ClientID %>").css("display", "none");
            }
        }
    
    
    </script>  
    
    <asp:RadioButtonList   ID="rbtnIsPFEnabled"     runat="server" >
        <asp:ListItem Text="Yes" Value="Yes" onchange="fun(this);"> </asp:ListItem>
        <asp:ListItem Text="No" Value="No" onchange="fun(this);"> </asp:ListItem>
        </asp:RadioButtonList>
    
        <asp:TextBox runat="server" ID="txtPFNo"/>
    

    【讨论】:

    • 您阅读了完整的问题? "also tried second solution by replacing pfno.css("dispay") = "block" to pfno.css("dispay","block") but both could not work"
    • no - pfno 不会这样写,你只需要 pfno.css()
    • @4dgaurav - 很好,我不敢相信有人需要复制另一个答案来解释如何使用 jquery 设置 css 属性
    • 它是一种替代解决方案,不要解决我的第二个问题。所以,+1,但不是答案。
    【解决方案2】:

    您可以使用jQuery 以多种方式解决此问题。 例如

    $(pfno).css("display", "none"); //used when you are defining single css property or in chaining method
    $(pfno).css({"display":"none"}); // used when you are defining multiple CSS property           
    $(pfno).hide(); //show/hide function also perform display block/none functionality which is mostly used in script
    

    【讨论】:

      【解决方案3】:

      好吧,首先这是不正确的:

           pfno.css("dispay") = "block";
      

      上述方法永远不会起作用

      pfno.css({ 'display' : 'block' });是你设置css属性的方式,

      pfno.css( 'display' , 'block' ); 是另一种设置 css 属性的方法,这样你就做错了。你需要设置警报或写信给控制台以确认你的 if 语句和你的点击处理程序正在工作

      【讨论】:

      • 我想获得选定的值,而不是像你的代码那样检查任何东西。
      • 哦...我明白了..您正在使用单选按钮,并检查所检查的按钮的值....对此感到抱歉
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 1970-01-01
      • 2018-03-01
      • 2015-07-25
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      相关资源
      最近更新 更多