【发布时间】:2017-03-24 04:31:42
【问题描述】:
我正在尝试将 WordPress Post Id 动态 作为 jQuery 中的变量。但是,当我尝试在console 中调试时,它返回的值未定义。谁能帮我解决这个问题?
代码如下:
data-id属性显示当前帖子的id
<?php $id = get_the_id(); ?>
<button data-id="<?php echo $id; ?>" type="button" class="book btn btn-danger">
Submit
</button>
我的 jQuery
jQuery(document).ready(function(jQuery){
jQuery('.packageForm').submit(packageSubmit);
function packageSubmit(){
var id = jQuery(this).attr('data-id');
var ceccForm = jQuery(this).serialize();
jQuery.ajax({
type:"POST",
url: "wp-admin/admin-ajax.php",
data: ceccForm,
success:function(data){
console.log(id);
console.log(data);
jQuery(".response").html(data);
jQuery(".packageForm")[0].reset();
jQuery('body').removeClass('modal-open');
}
});
return false;
}
});
这里,我使用var id = jQuery(this).attr('data-id');动态获取属性data-id的值。它在浏览控制台中显示消息 Undefined Value。
有什么帮助吗?
【问题讨论】:
-
控制台日志
jQuery(this)在您的提交处理程序中,您将看到原因 -
实际上
.packageForm是我的Form CLass<form method="post" class="packageForm clearfix">。我不认为这与此无关。还是有? -
没错,所以
jQuery(this)是您的表单元素,而不是您的具有数据属性的按钮元素
标签: javascript php jquery ajax wordpress