[英]Passing a variable from php to javascript on button click
您好我正在尝试将按钮单击时的变量从 php function 传递到 javascript。output 由于某种原因未定义,但在 php function 变量确实包含数据。 知道为什么会这样吗?
PHP:
add_filter( 'page_row_actions', 'create_pdf_row_actions', 10, 2 );
function create_pdf_row_actions( $actions, WP_Post $post ) {
if ( $post->post_type != 'item' ) {
return $actions;
}
# $actions['create-pdf'] = "<a href='#?id=".$post->ID."' >Create PDF</a>";
$actions['create-pdf'] = "<a href='#?id=".$post->ID."' >Create PDF".$post->ID."</a>";
return $actions;
}
Javascript:
jQuery(document).ready(function($){
$('.create-pdf').on('click', function () {
alert("button"+ $(this).data("id"));
});
});
从这段代码假设,你可以尝试:
使用<?php?>
标签在 jQuery 内调用 PHP function。 由于$actions['create-pdf']
在数组中,使用print_r
到 output 变量,或者如果你有多个键值对,则使用foreach loop
jQuery 的.data()
访问元素的dataset
,但链接中的id
似乎位于href
属性的 URL 片段中。
你有两个选择...
将适当的data-id
属性添加到您的链接
$actions['create-pdf'] = sprintf( '<a href="#?id=%1$s" data-id="%1$s">Create PDF%1$s</a>', htmlspecialchars($post->ID) );
$(".create-pdf").on("click", "a[data-id]", function(e) { e.preventDefault(); alert(`button${$(this).data("id")}`); });
或者,从 URL 片段中的参数中提取id
$(".create-pdf").on("click", "a[href]", function(e) { e.preventDefault(); const url = new URL(this.href); const params = new URLSearchParams(url.hash.slice(1)); alert(`button${params.get("id")}`); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.