Основная Справка JQuery - PullRequest
2 голосов
/ 21 июля 2010

Нужна базовая помощь с использованием JQuery и AJax. У меня есть уль

  <div id="topics">

<h1><a href="index.html">JQuery</a></h1>
  <h3>A Working Primer</h3>

<ul>
    <li><a href="articles/includingJQuery.html">Including JQuery</a></li>
    <li><a href="articles/tools.html">Tools of the Trade</a></li>
</ul>
  </div>

Пустой div, где мне нравится загружать содержимое Ajax на той же странице, что и выше:

  <div id="articles">
  </div>

и мой сценарий

$(document).ready(function(){
  $("#topics ul li a").click(function(){
 $('#articles').load('');

 return false; 
   });
});

Не совсем уверен, что положить в нагрузку, чтобы она была динамичной. Любая помощь приветствуется:)

Ответы [ 5 ]

4 голосов
/ 21 июля 2010

Если содержимое находится в местоположении атрибута href, вам необходимо получить значение этого атрибута:

$('#articles').load(this.href);

так попробуйте это:

$(document).ready(function(){
    $("#topics ul li a").click(function() {
              // use the content of the href attribute
              //     for the load parameter
        $('#articles').load(this.href);
        return false; 
    });
});
0 голосов
/ 21 июля 2010

Вам придется структурировать каждую включенную страницу, чтобы она имела одинаковое имя div, например, #container, где находятся данные, которые вы хотите загрузить в #articles div.Тогда вы можете просто сделать:

$(document).ready(function() {
  $("#topics ul li a").click(function() {
    var url = $(this).attr('href');
    $('#articles').load(url + ' #container');
    return false; 
  });
});

Это только извлечет #container div и исключит все лишние теги html / body, которые вам не нужны, и вам не придется иметь дело с функциями обратного вызова,Смотри http://api.jquery.com/load/

0 голосов
/ 21 июля 2010

Это звучит как то, что вы ищете ... Следующая функция вызывает ASP.Net Webservice. Затем я использую данные JSON, возвращенные из Webservice, чтобы добавить html к моему элементу. Я думаю, вы, вероятно, сможете увидеть из этого примера, что я делаю, и применить его к своему собственному коду. Дайте мне знать, если вам нужно, чтобы я что-то прояснил.

$(function () {
    $.ajax({
        type: "POST",
        data: "{}",
        datatype: "json",
        url: "../webServices/myTestWS.asmx/testMethodTV",
        contentType: "application/json; charset-utf-8",
        success: function (msg) {
            var len = msg.d.rows.length;
            $('#sidetree').append('<ul id="treeview">');
            for (i = 0; i < len; i++) {
                $('#sidetree').append("<li><span class='expandable'>" + msg.d.rows[i].data + "</span></li>");
            }
            $('#sidetree').append('</ul>');

    });
});
0 голосов
/ 21 июля 2010

Использование

$('#articles').load($(this).attr('href'));

будет работать неопределенно, но тогда вы получите весь загруженный удаленный документ, включая дубликаты тегов head / body.

Чтобы получить более сложную информацию,Вы можете указать функцию обратного вызова в .load () и использовать ее для чтения возвращаемого содержимого, сбора только дочерних элементов элемента <body> и вставки этих дочерних элементов в элемент #articles.

0 голосов
/ 21 июля 2010
$('#articles').load($(this).attr('href'));

Попробуйте это ....

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