带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX

jquery link tag href with onclick requires two clicks to load ajax

本文关键字:两次 AJAX 加载 单击 jQuery OnClick 链接 href 带有      更新时间:2023-09-26

我正在编写一个 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);

}
 ?>

您在第一次单击时调整单击处理程序,然后在第二次单击时运行它。将您的 JS 代码更改为以下内容:

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