使用onclick的jquery链接标记href需要两次单击才能加载ajax

时间:2015-01-25 19:44:26

标签: javascript jquery html ajax onclick

我正在编写一个ajax页面,当一个jquery选择器id被触发时,它通过onclick传递参数并执行$ .getJSON然后返回div上的数据。它可以工作,但需要两次点击才能加载内容!假设只需点击一下即可加载!任何帮助,将不胜感激。 继承人代码:

function services(theid) {

$('#open').on('click', function(){


   $.getJSON('process_serv.php',{thevar: theid}, function(data){

    $('.services').html(data.name + "-" +  data.charge);
   });
 });


  }

<a href="#"onclick="services('<?php echo $id?>'); return false"       
id="open" >hi</a> 
<div class="services">
</div>
<div class="times">
</div>
<div class="details">

<?php
$con = new mysqli("localhost", "root", "root", "labookin");

if(isset($_GET['thevar'])){

$id = $_GET['thevar'];

$query = "SELECT * FROM services WHERE bizid='$id'";

$the = $con->query($query);

$row = $the->fetch_assoc();

echo json_encode($row);


}
 ?>

1 个答案:

答案 0 :(得分:1)

您在第一次单击时附加了单击处理程序,然后在第二次单击时运行它。将您的JS代码更改为:

function services(theid) {
    $.getJSON('process_serv.php',{thevar: theid}, function(data){
        $('.services').html(data.name + "-" +  data.charge);
    });
}