我试图获得WordPress Post Id
动态作为jQuery
中的变量。但是,当我尝试在console
中调试时,它返回未定义的值。有谁能帮我一下吗?
代码如下:
data-id属性显示当前post的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
的值。在浏览控制台中显示消息未定义值。
有什么帮助吗?
这里this
实际上是指你的表单packageForm
,因为你是从表单的提交函数调用它,它不会有你已经设置为按钮的属性。
你可以这样做
var id = jQuery(this).find('button.book').data('id');
这是指表单而不是按钮
如果按钮在表单标签
中,执行查找操作获取按钮jQuery(this).find('button.book').attr('data-id');