我有点陷入困境。我正在编写一个用户可以进行搜索的程序。然后搜索返回可能的结果列表。如果将鼠标移到结果上,则会突出显示它们。从结果中选择其中一个项目时,它会将列表替换为您选择的项目。我遇到的问题是我无法让项目替换列表。我正在使用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。
请有人知道怎么做吗?
答案 0 :(得分:1)
如果您不希望链接的默认点击行为发生(单击带有href =“#self”的链接时转到#self),那么您的onclick处理程序应该返回false。
onClick="changeDiv(stuff); return false;"
我不知道这对其他任何事情都有帮助。