2010-09-30 18 views
5

Jak serializować dynamiczne dane wejściowe?Jak korzystać z funkcji .serialize jQuery z dynamicznymi elementami formularza

<table id="mytable"> 
<form id="myform"> 
<tbody> 
    <tr><td><input type="text" name="row0"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row1"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row2"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row3"></td></tr> <!-- dynamically generated --> 
</tbody> 
<tfoot> 
    <tr><td><input type="button" id="save" value="SAVE"></td></tr> <!-- static --> 
</tfoot> 
</form> 
</table> 

chcę użyć jQuery załadować informacji z php

$('#save').click(function(){ 
    $.ajax({ 
    type: "POST", 
    url: "post.php", 
    data: $('#myform').serialize(), 
    success: function(msg){ 
     console.log(msg); 
    } 
    }); 
}); 

to będzie działać bez problemu, jeśli wiersze nie były generowane dynamicznie, ale nie mogę dowiedzieć się, jak uzyskać dostęp lub serializacji zawartość dynamiczna.

Odpowiedz

11

Szeregowania dynamicznych zawartość działa dobrze aż trzeba go (ponieważ robisz to w click obsługi, a nie od obciążenia) ... ale trzeba mieć ważny <form> elementu owinięty wokół <table> coś takiego:

<form id="myform"> 
<table id="mytable"> 
<tbody> 
    <tr><td><input type="text" name="row0"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row1"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row2"></td></tr> <!-- dynamically generated --> 
    <tr><td><input type="text" name="row3"></td></tr> <!-- dynamically generated --> 
</tbody> 
<tfoot> 
    <tr><td><input type="button" id="save" value="SAVE"></td></tr> <!-- static --> 
</tfoot> 
</table> 
</form> 

You can test it out here.

+0

Podnosiła go, gdy nie była generowana dynamicznie. Zastanawiam się, dlaczego ma problemy, gdy jest dynamiczny. – polyhedron

+1

To naprawiło to jednak. – polyhedron

+0

@polyhedron - z nieprawidłowymi znacznikami rzeczy są nie do zniesienia ... mogło to być inaczej w DOM z elementami wewnątrz wcześniej. –

Powiązane problemy