2010-11-01 19 views
1

我有2個HTML TR,我讓他們runat="server" & visible="false"和我有一個下拉列表稱爲citiesDropDownListJQuery .Show()不適用於服務器控件?

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

,並在此下拉列表我檢查的變化,如果它的文本等於字符串我顯示2 TR爲低於

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()根本不工作,我沒有理由..可以任何導致我得到問題嗎?

FYI:我想$('#<%= otherCityTR.ClientID %>').show('slow');$('#<%= otherCityTR.ClientID %>').css('visibility', 'visible');,但如果你在一個服務器控件設置visible = "false",則控制甚至沒有呈現到瀏覽器不也工作...

+0

你在執行過程中檢查過你是否收到任何錯誤? – 2010-11-01 12:43:30

+0

我沒有錯誤...只是沒有行動! – 2010-11-02 03:58:02

回答

9

visible="false"意味着它甚至不會被渲染到頁面中,所以您的選擇器沒有找到任何元素。

而不是visible="false"使用style="display: none;"來隱藏元素,但仍然在頁面中呈現它們。

+0

+1完美答案 – 2010-11-01 12:53:58

3

。改爲設置display: none,然後在您的javascript中使用display: block顯示控件。

1

從服務器控件中刪除visible = false,因爲這會停止呈現給頁面的控件,或者使用display:none設置CSS樣式,或者在javascript中隱藏所需的控件。

相關問題