如何将动态ID(php)传输到javascript?

时间:2016-07-27 21:37:22

标签: javascript php jquery

我用PHP创建了一个图库。用户可以删除每张图片:点击“删除此图片?”按钮会向他显示带有2个按钮“删除”和“取消<”的图像叠加层/强>”。 “取消” - 按钮将隐藏叠加层。

每张图片都有自己的ID。现在我想用JavaScript创建的ID替换JavaScript中的“ NAME-OF-IMG-WITHOUT-EXTENSION ”。不幸的是,我不知道如何将ID传递给脚本......以下是相关的代码区域:

<script>
$(document).ready(function(){
    $("#overlay_hide_" + "NAME-OF-IMG-WITHOUT-EXTENSION").click(function(){
        $(".overlay").fadeOut("fast");
    });
    $("#overlay_show_" + "NAME-OF-IMG-WITHOUT-EXTENSION").click(function(){
        $(".overlay").fadeIn("fast");
    });
});
</script>

<div class="overlay">
<a class="button_delete" onclick="deleteImage('<?php echo $filename['basename']; ?>')">Delete</a>
<a class="button_cancel" id="overlay_hide_<?php echo $filename['filename']; ?>">Cancel</a>
</div>

<img src="<?php echo $filename['basename']; ?>" />
<a id="overlay_show_<?php echo $filename['filename']; ?>">Delete this Image?</a>  

1 个答案:

答案 0 :(得分:0)

将ID嵌入你的html某处。然后,您可以通过点击处理程序检索它,例如

<div class="img" data-id="<?php echo $img_id; ?>">
   <img ... />
   <button onclick="removeMe(event);">X</button>
</div>

function removeMe(e){ // e = click event
  button = e.target;
  div = button.parent;
  id = div.dataset.id;
  ... do stuff with the id
}

或者,只需将ID直接嵌入点击处理程序调用中:

<button onclick="removeMe(<?php echo json_encode($id); ?>);">X</button>

function removeMe(id) {
   ... do stuff with id
}