2014-10-09 3 views
0

Я пытаюсь использовать ajax в своем веб-приложении. У меня есть HTML-код, как это:Ajax - Django получает страницы без обновления

<div class="item"> 
    <div class="menu"> 

      {% for bas in bslklr %} 
      <div class="basliklinki"> 

       <a class="item" id="baslikl" href="/baslik/{{ bas.title }}">{{ bas }}</a> 

      </div> 
      {% endfor %} 

    </div>  
</div> 
<div class="ajaxli-segment"> 
[code] 
</div> 
<div class="ajaxli-main"> 
[code] 
</div> 

и я использую этот JS-код:

function ajax_get_update() 
    { 
     $.get(url, function(results){ 
      var segment = $("div.ajaxli-segment", results); 
      var main = $("div.ajaxli-main", results); 
      $('.ajaxli-segment').html(segment); 
      $('.ajaxli-main').html(main); 
     }, "html"); 
    } 

$(document).ready(function() { 
    $('.basliklinki .item#baslikl').click(function(e) { 
     e.preventDefault(); 
     url = ($('.basliklinki .item#baslikl')[0].href); 
     ajax_get_update(); 
    }); 
}); 

$(document).ajaxStop(function() { 
    $('.basliklinki .item#baslikl').click(function(e) { 
     e.preventDefault(); 
     url = ($('.basliklinki .item#baslikl')[0].href); 
     ajax_get_update(); 
    }); 
}); 

У меня есть все поля для объектов в ajaxli-segment и ajaxli-menu дивы в своих шаблонах. Я хочу получить их, не обновляя страницу, но мой код не работает. Когда я нажимаю один из объектов, он опутывает ajaxli-segment и ajaxli-main divs, но он не получает новый контент со страницы с теми же div, которые я хочу видеть. Вы можете увидеть его в действии на munhasir.com, просто откройте левую боковую панель и нажмите одну из линий там. Как я могу сделать эту работу? Благодарю.

+0

ли Javascript функция нажмите время срабатывает? – PhoebeB

+0

Да, это вызвано тегами. Он опустошает div 'ajaxli-segment' и' ajaxli-main', но он не получает новый контент со страницы с теми же div, которые я хочу видеть. – malisit

+0

Вы можете увидеть его в действии на munhasir.com, просто откройте левую боковую панель и нажмите одну из линий там. – malisit

ответ

0

Я изменил весь код для этого:

<div class="item"> 
    <div class="menu eyceksli" id="ajax_table_result"> 

      {% for bas in bslklr %} 
       <script type="text/javascript"> 
function ajax_get_update() 
    { 
     $.get(url, function(results){ 
      xx =$(results).filter("#mainsegment").html(); 
      yy =$(results).filter("#mainn").html(); 

      $('#mainsegment').html(xx); 
      $('.ajaxli-main').html(yy); 
     }, "html"); 
    } 

$(document).ready(function() { 
    $('.basliklinki #baslikl{{ bas.id }}').click(function(e) { 
     e.preventDefault(); 
     url = ($('.basliklinki #baslikl{{ bas.id }}')[0].href); 
     ajax_get_update(); 
    }); 
}); 

$(document).ajaxStop(function() { 
    $('.basliklinki #baslikl{{ bas.id }}').click(function(e) { 
     e.preventDefault(); 
     url = ($('.basliklinki #baslikl{{ bas.id }}')[0].href); 
     ajax_get_update(); 
    }); 
}); 
</script> 
      <div class="basliklinki"> 

       <a class="item" id="baslikl{{ bas.id }}" href="{% url 'tek_baslik' bas.title %}" style="color:#05377E;">{{ bas }} {% if bas.gunentry > 0 %} ({{ bas.gunentry }}) {% endif %}</a> 


      </div> 
      {% endfor %} 

      <br> 
    </div>  
</div> 
Смежные вопросы