다음 마크 업이 있습니다.업데이트 패널에서 jquery가 작동하지 않습니다.
<fieldset style="width:40%;">
<legend> Site User Role Management</legend>
<asp:Label ID="lblSiteUserDDl" runat="server" AssociatedControlID="ddlSiteUsers"
Text="Manage the roles in which a user is registered by selecting the user from the dropdown list below."></asp:Label>
<asp:DropDownList ID="ddlSiteUsers" runat="server" CssClass="dropdowns" AutoPostBack="True" />
<br /><br />
<fieldset id="rolemanagement" style="width:80%;" runat="server" >
<legend></legend>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Label ID="lblCurrentRole" runat="server" CssClass="literaltext"></asp:Label><br />
<asp:Label ID="lblSiteUserRole" runat="server" CssClass="literaltext"></asp:Label><br />
<asp:DropDownList ID="ddlUserRoles" CssClass="dropdowns" runat="server"/><br />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlSiteUsers" EventName="SelectedIndexChanged"/>
</Triggers>
</asp:UpdatePanel>
</fieldset>
</fieldset>
및 페이지
<script>
$(document).ready(function() {
$('#<%= ddlSiteUsers.ClientID%> ').change(function() {
$(this).css({ 'color': 'black', 'font-size': '1.1em', 'font-weight': 'bold' });
var selecteditem = $(this).children("option:selected").text();
$('#<%= lblCurrentRole.ClientID%>').html("You selected the user: <span style='color:black;font-weight:bold;'>" + selecteditem + "</span>");
});
});
</script>
문제의 하단에있는 다음 스크립트는 첫 번째 레이블이 제대로 변경 않는다는 것입니다하지만 페이지가 업데이트 패널에 의해 반환 될 때 제거됩니다. 나는 구글을 통해 발견 한 모든 다양한 솔루션을 시도했지만 아무도 작동하지 않는 것 같습니다. 지금은 두 개의 라벨과 드롭 다운이있는 필드 세트가 항상 표시됩니다. 궁극적으로 상단 드롭 다운 선택이 변경 될 때까지 해당 필드 세트가 숨겨 지도록 라벨을 올바르게 표시해야합니다.
jquery 's on 기능을 살펴 보셨습니까? http://api.jquery.com/on/ – Dave