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 событий.

Другие вопросы по тегам