динамическое получение jQuery-скриптов и контента через ajax - PullRequest
0 голосов
/ 11 марта 2011

У меня есть страница, которая загружает дерево файлов со ссылками на реальные страницы и тому подобное, с поддеревьями и всем остальным.Но поскольку большие папки создают огромные файлы, сценарий jQuery для скрытия папок был бы потрясающимСуществует проблема, так как дерево загружается через ajax и никогда не выглядит одинаково, как и jQuery.Я могу генерировать JQuery динамически, но он не загружает JavaScript, который загружается через AJAX.Специально не события.(jQuery, onclick)

<ul>
<li><b>www</b> - 5 files, 14 directories, 1877 KB total.
<ul>
<li><b>Admin</b> - 4 files, 3 directories, 44 KB total.
<ul>
<li><b>Editera</b> - 2 files, 16 KB total.
<ul>
<li><a href="../../../lh10fego/Admin/Editera/gastbok_edit.asp">gastbok_edit.asp</a> - <a href="viewSource4.asp?page=lh10fego/www/Admin/Editera/gastbok_edit.asp"> View Source</a> - 1100 bytes, last modified on 2011-01-17 12:06:43.   <b> table names found:</b> Gastbok</li>
<li><a href="../../../lh10fego/Admin/Editera/Medlem_edit.asp">Medlem_edit.asp</a> - <a href="viewSource4.asp?page=lh10fego/www/Admin/Editera/Medlem_edit.asp"> View Source</a> - 15671 bytes, last modified on 2011-01-17 12:06:44.   <b> table names found:</b> Inlogg</li>
</ul>
</li>
<li><b>Radera</b> - 2 files, 2 KB total.
<ul>
<li><a href="../../../lh10fego/Admin/Radera/gastbok_radera.asp">gastbok_radera.asp</a> - <a href="viewSource4.asp?page=lh10fego/www/Admin/Radera/gastbok_radera.asp"> View Source</a> - 813 bytes, last modified on 2011-01-17 12:06:45.   <b> table names found:</b> Gastbok</li>
<li><a href="../../../lh10fego/Admin/Radera/medlem_radera.asp">medlem_radera.asp</a> - <a href="viewSource4.asp?page=lh10fego/www/Admin/Radera/medlem_radera.asp"> View Source</a> - 811 bytes, last modified on 2011-01-17 12:06:45.   <b> table names found:</b> Inlogg</li>
</ul>
</li>
<li><b>Uppdatera</b> - 2 files, 2 KB total.
<ul>

прошу прощения за большой код, но есть пример визуализированной страницы и элементов в ней.Я думал, что переменная пути может быть использована в качестве класса, поэтому все элементы пути могут быть одинаковыми.Спасибо за чтение моего классного текстового блока.Пример: "../../lh10fego/Admin/Radera".Будет .и / вызвать проблемы?Вероятно.

Может кто-нибудь дать мне код jQuery, который работает таким образом, что он будет скрывать / показывать каждый элемент с классом типа «myClass», где они находятся на странице?

А также способ активировать этот код после добавления через ajax-запрос.

Внедренный html, включая javascript, заканчивается внутри div в заголовке документа.

EDIT:Мне удалось получить почти необходимый функционал, но все же не через ajax.Я использовал это ключевое слово и скрыл все с определенным классом ниже.Теперь проблема в том, что, поскольку ссылка находится внутри другой ссылки, сработает и та, на которую вы нажали, и та, что находится в самом верху.

EDIT2:

    set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)
    currentfolder = path
    fname = Replace(folder.path,"/","x")
fname = Replace(fname,".","2")
fname = Replace(fname,":","5")   'removing wierd chars and adding "asd" in middle
fname = Replace(fname,"\","3")   'to avoid multiple hits when searching
fname = Replace(fname,Right(fname,7),"asd" & Right(fname,7))

    'Display the target folder and info.

     Response.Write("<li onclick=""$(this).find('li." & fname & "').slideToggle();""><b>" & folder.Name & "</b> - " _
       & folder.Files.Count & " files, ")
     if folder.SubFolders.Count > 0 then
       Response.Write(folder.SubFolders.Count & " directories, ")
     end if
     Response.Write(Round(folder.Size / 1024) & " KB total." _
       & vbCrLf)

проблема сейчас заключается в том, что поскольку он применяется к вложенным тегам li всякий раз, когда я щелкаю по чему-либо, то тот, который я щелкнул, и самый высокий тег li будут скрыты.Кроме того, этот тест, над которым я сейчас работаю, без ajax только для того, чтобы отсортировать мой jQuery.

Ответы [ 2 ]

0 голосов
/ 22 марта 2011

через десять дней я думаю, что у меня есть решение:

<html><head>
    <script src="./jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
        function jqueryAjax(url)
        {
            $.ajax({
              url: ""+url,
              cache: false,
              dataType: "script",
              success: function(html){
                $("#content").append(html);
              }
            });
        }
    </script>
</head>
<body>
    <div id="control" style="border: 1px solid green;">
        <p><a href="#" onclick="jqueryAjax('htmljs.js'); return false">Ajax with Jquery (1.2.6)</a></p>
    </div>
    <div id="content" style="border: 1px solid red; width: 640px; height: 480px; top: 200px"></div>
</body></html>

Плохая новость: в консоли ошибок появляется сообщение об ошибке, и я не могу их удалить. Но это работает ...

0 голосов
/ 11 марта 2011

для лучшего понимания: вы используете ajax для загрузки кода HTML и Javascript и внедрения их в другую страницу HTML.Мой вопрос к вам: будет ли простой Javascript, например, alert("test");, не работать после инъекции?

...