使用jQuery更新smarty模板中的div

时间:2013-07-02 11:59:22

标签: jquery web smarty

我正在尝试根据用户点击的链接替换智能模板中div的内容。

问题:当我点击链接时,href指向的页面会在浏览器的同一窗口中打开,而不是仅覆盖页面的一部分内容。

- >作为参考,this是网页。

以下是我的jQuery代码:

 $('#notes').click(function(evt)
 {
    $('#main').html(($this).attr('href'));
    evt.preventDefault();
 });

根据FYE的建议更新了jQuery代码

$(document).ready(function(){

        $('#notes').click(function(evt)
            {   
                $('#main').append(get(($(this).attr('href'))));
                evt.preventDefault();
            });

    });

它位于模板头部的脚本标记中。

hrefs的来源:

 {block name=sidebar}
      <p class="nav-header" id="notes">Notes</p>
        {foreach $lectures as $lecture}
            <a href={$lecture} class="notes">{$lecture@key}</a><br>
         {/foreach}
 {/block}

:定位:

  {block name=body}
      <div id="main">
          Bob
      </div>
 {/block}

1 个答案:

答案 0 :(得分:1)

首先,我认为jQuery.html()不会像这样使用,它会用链接的地址替换div的内容,而不是其内容。

您应该使用像jQuery.ajax()jQuery.get()这样的AJAX方法来获取内容,然后手动将其替换为append()appendTo()

但是为了防止该页面被打开,evt.preventDefault()应该开展工作,请尝试return false;,但我不确定。