代码之家  ›  专栏  ›  技术社区  ›  Amr Badawy

JQuery.Show()不适用于服务器控件?

  •  1
  • Amr Badawy  · 技术社区  · 14 年前

    我有两个html TR runat="server" visible="false" 我有一个下拉列表叫 citiesDropDownList

    $(document).ready(function() {
    $('#<%=citiesDropDownList.ClientID %>').change(function() { ValidateCity(); });
    });
    

    当这个dropdownlist改变时,我检查它的文本是否等于一个字符串,我显示了如下的2tr

    function ValidateCity() {
            if ($('#<%= citiesDropDownList.ClientID %> :selected').text() == identity_CityOther)   {
                $('#<%= otherCityTR.ClientID %>').show();
                $('#<%= areasTR.ClientID %>').show();
            }
            var city = $('#<%= citiesDropDownList.ClientID %>').val();
            return IsValid((city.length != 0), '#<%= cityDiv.ClientID %>', identity_CityRequired);
        }
    

    .show()根本不起作用,我也不知道原因。。有什么能让我知道这个问题吗?

    仅供参考:我试过了 $('#<%= otherCityTR.ClientID %>').show('slow'); $('#<%= otherCityTR.ClientID %>').css('visibility', 'visible'); 但它也不起作用。。。

    3 回复  |  直到 14 年前
        1
  •  9
  •   Nick Craver    14 年前

    visible="false" 意味着它甚至没有呈现到页面中,所以选择器没有找到任何元素。

    而不是 visible=“假” style="display: none;" 隐藏元素,但仍在页面中呈现它们。

        2
  •  3
  •   Phil Hunt    14 年前

    如果你设置 visible = "false" display: none 相反,然后用 display: block 在你的javascript中。

        3
  •  1
  •   Burt    14 年前