我正在编写一个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);
}
?>
答案 0 :(得分:1)
您在第一次单击时附加了单击处理程序,然后在第二次单击时运行它。将您的JS代码更改为:
function services(theid) {
$.getJSON('process_serv.php',{thevar: theid}, function(data){
$('.services').html(data.name + "-" + data.charge);
});
}