JQuery не работает
Я пытаюсь реализовать JQuery на своей веб-странице, но я не смог реализовать его успешно.
У меня есть главная страница
где я добавил один скрипт для строки меню, который уже использует jquery, размещенный Google
Это закодировано в самой главной странице
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
Теперь я хочу реализовать Jquery, чтобы установить для свойства видимости css значение true или false. в мой content page
той же главной страницы.
<script type="text/javascript">
$(document).ready(function(){
$("#lnkAddMore").click(function(){
alert();
}
);
});
</script>
Этот элемент управления HTML находится под моим UpdatePanel
, Я не знаю, почему это не работает? Я использую этот элемент управления под UpdatePanel.
<input type="button" id="lnkAddMore" value="Add More" />
Я пытался использовать его вне панели обновлений, он успешно работает, но не в UpdatePanel
Я думаю, что есть проблема, используя его с UpdatePanel
ЗДЕСЬ ИСТОЧНИК МОЕЙ СТРАНИЦЫ
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<link href="../../Css/Domain.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function(){
$("#lnkAddMore").click(function(){alert();$('#h').hide(100);});
$('#h').show(100);
});
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="divDomain" runat="server">
<asp:gridview/>
<div style="text-align:right;">
<input type="button" id="lnkAddMore" value="Add More" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
4 ответа
Я использовал два подхода с jQuery и UpdatePanels.
Первый: jQuery $ (document).ready и UpdatePanels?
Другой подход, который я нашел в блоге Рика Страла ( http://www.west-wind.com/Weblog/posts/154797.aspx), заключается в том, чтобы сделать что-то подобное в следующем коде:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "alertScript",
@" $(document).ready(function(){
$("#lnkAddMore").click(function(){
alert();
}
);
});", true);
Проверьте это для другого примера: проблема с ScriptManager.RegisterClientScriptBlock и jQuery в Internet Explorer 8
Также взгляните на подписчика событий live() jQuery.
Вы действительно вложили <script>
теги или это была опечатка?
<script type="text/javascript">
<script type="text/javascript">
Если это не опечатка, то это, вероятно, проблема.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#ddmenu > li').bind('mouseover', ddmenu_open)
$('#ddmenu > li').bind('mouseout', ddmenu_timer)
});
$(document).bind('click', ddmenu_close); // do you really want to close on any click?
</script>
Убедитесь, что идентификатор вашей кнопки на самом деле не меняется на что-то вроде
ctl00_ContentPlaceHolder1_lnkAddMore
так как он находится в заполнителе содержимого главной страницы.
Если это так, вам придется настроить JQuery.
Когда вы загружаете код в UpdatePanel, старайтесь не оборачивать его $(document).ready();
, Готов не уволен document
для AJAX событий.