Javascript 如何通过JQuery使用$(this).parent()序列化当前div?
我正在尝试使用clickevent序列化当前div。有关详细说明,请参见代码:Javascript 如何通过JQuery使用$(this).parent()序列化当前div?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我正在尝试使用clickevent序列化当前div。有关详细说明,请参见代码: $("#createreview").live('click', function() { alert($(this).parent().serialize()); $.post('/admin/home/review/create/', $(this).parent().serialize(), function(data){ alert('Review succesfully add
$("#createreview").live('click', function() {
alert($(this).parent().serialize());
$.post('/admin/home/review/create/', $(this).parent().serialize(), function(data){
alert('Review succesfully added to database.' +data);
});
});
警报将不显示任何内容,这意味着该div未被序列化。这就是所讨论的html。它位于对话框中,这也是我必须使用live()的原因
您不能序列化
,您需要一个
,因此请替换此:
<div id="reviewdiv">
要查看不序列化和序列化的区别(a
)。因为它使用集合循环,所以这里只有一个
可以工作。您可以序列化一个
在内部使用该方法。因此,要序列化不属于表单的输入元素,请使用param
方法。例如:
但请记住,正确的(语义)方法是将输入元素放入表单中。我知道这是一篇老文章,但您可以使用:
$('#reviewdiv :input').serialize();
数据
将是从post到服务器的响应-不一定是序列化的数据。当您在Firebug中查看请求和响应时,您的请求和响应是什么样子的?它们是您所期望的吗?工作正常,谢谢!顺便说一句,这是一个非常好的网站来测试的东西。
<div id="reviewdiv">
<form id="reviewdiv">
$(this).closest('form').serialize()
$('#reviewdiv :input').serialize();