Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过JQuery使用$(this).parent()序列化当前div?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 如何通过JQuery使用$(this).parent()序列化当前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

我正在尝试使用clickevent序列化当前div。有关详细说明,请参见代码:

$("#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();