代码之家  ›  专栏  ›  技术社区  ›  Carlos

为什么jquery click函数不工作?

  •  -1
  • Carlos  · 技术社区  · 7 年前

    我正试图使用此函数触发从隐藏元素下载文件。这是我正在尝试的,但似乎不起作用。我花了好几个小时在这上面,不知道我做错了什么。

    <?php 
    
    echo '
       <button type="button" class="btn btn-secondary btn-block m-b-10" onclick="getBill('.$billNumber.')">Bill of Lading</button>
       <a href="images/bol/'.$billNumber.'.pdf" style="display:none" id="billOfLading'.$billNumber.'" download></a>';
    
    ?>
    
    <script>
    
    function getBill(a){
    
            var billNumber = a;
    
            if(billNumber != ''){
                $.ajax({
                    method: "POST",
                    url:'includes/bolScraper.php',
                    data:{billNum: billNumber},
                    success:function(data){
                        if (data != "no_pdf") {
    
                            //alert(data)
    
                            $("#billOfLading" + a).click();
    
                        } else {
    
                          alert(data);
    
                        }
                    }
                });
            }
        }
    
     </script>
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Liftoff    7 年前

    jquery选择器返回一个数组。您需要选择元素以这种方式调用click函数。使用索引0选择第一个匹配元素。

    $("#billOfLading" + a)[0].click();
    

    小提琴例子: JSFiddle