[英]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.