有一个javascript代码从mysql检索数据的麻烦

时间:2010-11-07 18:17:50

标签: php jquery ajax codeigniter

我有点陷入困境。我正在编写一个用户可以进行搜索的程序。然后搜索返回可能的结果列表。如果将鼠标移到结果上,则会突出显示它们。从结果中选择其中一个项目时,它会将列表替换为您选择的项目。我遇到的问题是我无法让项目替换列表。我正在使用CodeIgniter。

步骤

在我的模型中,我通过onclick函数将项目的id(VenueID)传递给我的javascript函数。

venue_model.php

$output .= '<li><a href="#self" class="menulink" class=&{ns4class};
               onClick="changeDiv(\''.
                 $venue_details->**VenueID**.

               '\')">

javascript函数接受javascript id,然后将其传递给控制器​​中的函数,以从MySQL数据库中检索项目。

divUpdater.php

<script type="text/javascript">
base_url = '<?= base_url();?>index.php/';
</script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">

function changeDiv(venueID){
  $.get(base_url+'home/get_venue_description/' + venueID , function(data) {
    $('#venue_description').html(data);
    document.getElementById('venue_description').innerHTML=data;
  });

}

这是控制器中从数据库中检索数据的函数

home.php (控制器)

    function get_venue_description($venueID){
       echo $this->venue_model->retrieveData($venueID);
      }

问题出在模型和divUpdater.php中。当我点击列表中的一个项目时,它会给我这个网址

http://localhost/Counter/index.php#self

这是因为模型中的锚标记(<a href="#self"...)。我想知道是否有可能获得divUpdater.php中的代码来执行并在后台检索数据而不更改url。

请有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

如果您不希望链接的默认点击行为发生(单击带有href =“#self”的链接时转到#self),那么您的onclick处理程序应该返回false。

onClick="changeDiv(stuff); return false;"

我不知道这对其他任何事情都有帮助。