点击事件无法触发弹出框 - javascript

我将ajax请求的结果包装在div上,并附加到页面的main div中。因此,如果结果数组返回为空,我想提醒用户,说未找到结果,并提供链接供他们单击。当他们单击弹出框时,将弹出按类别显示产品的信息。这里要注意的重要一点是,产品是通过php和ajax脚本派生的。

因此,当我使用onclick事件或直接使用onclick事件时,什么都不会发生!!!但是,如果我将其命名为空或弹出HTML它将起作用。如果我在页面加载或Ajax成功函数中触发弹出窗口,则包含的相同php脚本也将起作用。所以我不明白为什么仅单击一下就不起作用?

这是我要在“点击”事件中触发的弹出窗口

 <section id="browse-search-popup" class="mfp-hide white-popup">
 <h1>Browse Courses</h1>
 <a href="">Can't find what you're looking for? Tell us here!</a>
 <h2>First, pick a learning Zone:</h2>
 <div class="row">
   <div class="small-12 medium-8 large-8 medium-centered large-centered columns">
       <ul class="small-block-grid-2 medium-block-grid-2 large-block-grid-2">
       <?php
          $tutor =  new register();
          $data = $tutor->get_maincat();
          $i=0;
          foreach($data as $k=>$v)
          {
              $i++;
              ?>

              <li><div class="mainCat_<?php echo $i;?>" id="<?php echo $v['main_cat_id'];?>"><?php echo $v['main_cat_name'];?></div></li>

              <?php
          }
       ?>
       </ul>
   </div>
 </div>


<h2>Then, pick a field:</h2>
<div class="row">
    <div class="small-12 medium-12 large-12 columns" id="cat">
    </div>
</div>

<h2>Finally, choose your Course:</h2>
<div class="row">
    <div class="small-12 medium-12 large-12 columns" class="choosen_subjects">
    </div>
</div>

<div class="row">
    <div class="small-12 medium-12 large-12 columns" id="sub">
    </div>
</div>
<input type="submit" id="done" value="Done">
 </section>

Ajax请求

$("#search_tutor").submit(function() {
    var data = {
        "action": "test"
    };
    var subject = $("#subject").val();
    data = $(this).serialize() + "&" + $.param(data);

    $.ajax({
        type: "POST",
        dataType: "json",
        url: "/fetch_tutor.php", //Relative or absolute path to response.php file
        data: data,
        success: function(data) {
            $("#contents img.loading").remove();
            var sizy = data.length;
            if(sizy ==0) {
                console.log("sorry, cannot locate");
                $(".simply-popup-link").trigger("click");
                $("#simply-popup").empty();

                //This is where I want to trigger the on click
                $("#simply-popup").append("Unable to locate the subject you entered, please <a href='#'  onclick='browse("+sizy+")' class='yellow'>Browse</a>");

            }
            console.log("size= "+data.length);
            var j=0;
            for (i = 0; i < data.length; i++) {
                ........................
                ......................

浏览功能:

function browse(param) {
    //this would work
    /* $(".simply-popup-link").trigger("click");
       $("#simply-popup").empty();
       $("#simply-popup").append("test only"); */

    // but not this
    $(".browse-search-popup-link").trigger("click");
}

我试图像这样将页面加载到一个空的弹出框($(“#simply-popup”))中,但也不起作用:

 $("#simply-popup").load('search/browse.php');

参考方案

更改

$("#simply-popup").append("Unable to locate the subject you entered, please <a href='#'  onclick='browse("+sizy+")' class='yellow'>Browse</a>");

$("#simply-popup").append("Unable to locate the subject you entered, please <a href='#' class='yellow browse'>Browse</a>");

为此写一个单独的代码

$('body').on('click', '.browse', function() {
    $('.browse-search-popup-link').click();
});

使用php重新加载内容 - javascript

在对网站进行编程时,我以前使用过此代码,它可以完美工作,但是现在当我想使用一些Flash部件时,每次单击链接时,它都会重新加载所有网站。源代码: <!DOCTYPE html> <html> <head> <title>Hot King Staff</title> <meta charset=…

用jQuery填充模式形式 - javascript

我正在将订单表从数据库绘制到datatables(jquery插件)中。我要在每笔最后一笔交易或每笔交易中增加付款。问题是,如何获取单击添加付款按钮以添加付款的行的订单ID。其次,当点击addpayment时,它会弹出一个带有字段或订单号的模态表单。我想用在td中找到的订单ID填充该字段,并使其不可编辑或隐藏,但在提交模态表单时将其发布到服务器。表格和模式表…

保留文本区域的数据或值,然后选择输入 - javascript

通过$ _POST提交表单时,输入文件值仍然保留。像这样: if($_POST){ $error = false; if(!$post['price']){ $error = true; $error_note['price'] = "*Should not be empty"; } if($err…

带有AJAX和DOM处理API的下拉菜单 - javascript

我从API获取数据,但未在我的下拉菜单中显示。如果我用?act=showprovince回显,结果就在那里。example.html<head> <link rel="stylesheet" type="text/css" href="css/normalize.css"> …

尽管刷新,jQuery格式仍未应用于Ajax数据 - javascript

我正在通过GET响应消息从服务器(php文件)的可折叠内部加载列表视图。但是,尽管刷新了jQuery元素,但jQuery格式并未应用于添加的HTML。我的页面在这里:http://i.cs.hku.hk/~hsbashir/Project_Work/events/events.htmlHTML代码(仅相关代码)<script> lastRecor…