JQuery не работает с разобранным контентом - PullRequest
0 голосов
/ 14 марта 2012

эта проблема сводит меня с ума ... Я вызываю файл PHP через Ajax и разбираю его в своем HTML-контенте. Я должен сделать это таким образом, чтобы иметь динамический контент, не обновляя страницу.

Моя проблема в том, что разобранный код не будет выполнять никаких jquery. Мне нужен слайдер Jquery, например, в файле PHP. Но он анализируется как обычный HTML, и JQuery, похоже, не распознает его.

Вот пример:

Файл HTML:

<html>
    <head>
        <script src="jquery-1.7.1" type="text/javascript"></script>
        <script src="jscroller-0.4.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function()
            {
                // Add Scroller Object
                $jScroller.add("#scroller_container","#scroller","right",1);
                // Start Autoscroller
                $jScroller.start();
            });
        </script>


        <script type="text/javascript">
            function showGet(str)
            {
                if (str=="")
                {
                document.getElementById("center").innerHTML="";
                return;
            } 

            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("content").innerHTML=xmlhttp.responseText;
                }
            }

            xmlhttp.open("GET","content.php?q="+str,true);
            xmlhttp.send();
            }
        </script>
    </head>

    <body>
        <div id="content">
            <input type="button" onclick="showGet(1)" value="showGet">
        </div>

        <div id="scroller_container">
         <div id="scroller">
          ...[Content]...
         </div>
        </div>
    </body>
</html>

Вот файл content.PHP:

<?php

    echo "
        <div id=\"scroller_container\">
            <div id=\"scroller\">
                ...[Content]...
            </div>
        </div>
        "

?>

Выполнено, в HTML есть кнопка. Если вы щелкнете по кнопке, она разберет content.php в <div id="content></div>. PHP содержит тот же <div id="scroller" ...., что и HTML.

HTML-код div работает, а файл PHP - нет. ЗАЧЕМ???? и как мне заставить его работать?

Большое спасибо за все подсказки !!

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Загрузка контента с использованием jQuery ajax может быть такой же простой, как и следующие с использованием метода load ():

http://api.jquery.com/load/

/* loads a file into id=content and replaces exisitng html*/
$('#content').load( 'path/to/server/file', function(){
    /* new content exists, intialize event handling 
    and plugins for new html here*/


})
0 голосов
/ 14 марта 2012

Чтобы получить динамически добавляемый доступ к информации для функций jQuery, вам нужно использовать делегат () или on () -

http://api.jquery.com/on/ http://api.jquery.com/delegate/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...