繁体   English   中英

使用PHP的JavaScript中的动态变量

[英]Dynamic variable in JavaScript with PHP

我正在尝试使用动态的JavaScript编写脚本,是的,我知道,JavaScript始终是动态的,但我想与PHP结合使用。

JS:

$(document).ready(function(){
  $("#glcheckmail").click(function(){
    $("#glmaildiv").load('/functions/glist-MailChecker.php');
  });
});

PHP:

echo "<div class=\"list-group-item\" data-toggle=\"modal\" href=\"#\"><span class=\"badge badge-danger\"><a href=\"#\" class=\"donothover\">Delete</a></span>
        <div style=\"white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:80%;\">". $row['attach_name'] ." (<i>". formatSizeUnits($row['attach_size']) ."</i>)</div></div> ";

如您所见,我有一个带有删除的"<a href="">" 我要完成的实际上是这样的(示例不是真实代码!)

<a href="#" id="RefToJS" onclick="<? echo $attach_id; ?>">

现在(假设),我的JavaScript应该在#RefToJS看到一个变量。 我想将此变量传递给加载onclick的PHP脚本,如下所示

$(document).ready(function(){
  $("#glcheckmail").click(function(){
      $("#glmaildiv").load('/functions/glist-MailChecker.php?id='+ONCLICK_CODE);
  });
});

这是我想要的,但是正如您所看到的那样,代码不是很漂亮,我对JavaScript的了解很少,就无法完成这项工作

有几种方法可以解决此问题。 这就是我要做的:

PHP:

echo "<a href='#' class='link-class' id='" . $PHP_ID . "'>Delete</a>";

的JavaScript

$('.link-class').click(function(e){
    e.preventDefault(); //prevent default link action
    var linkID = $(this).attr('id'); //retrieve the ID of the clicked link
    $("#glmaildiv").load('/functions/glist-MailChecker.php?id='+ linkID);
});

好的,所以首先我将采用类似于@pmandell的方法,但是我将进行一些更改。 首先,我不使用id而是使用data属性来防止类似这样的冲突:

echo "<a href='#' class='delete-link' data-id='{$PHP_ID}'>Delete</a>";

其次,由于您是通过ajax将这些添加到DOM的,因此应该使用on来防止事件未绑定到正在创建的新链接上的问题。 因此,这是JavaScript的外观:

$(document).on('click','.delete-link',function(e) {
    e.preventDefault();
    var linkID = $(this).data('id');
    $("#glmaildiv").load('/functions/glist-MailChecker.php?id='+ linkID);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM