To mój pierwszy kod z jQuery, więc bądź pobłażący. Kod poniżej jest częścią tabeli, w której każdy wiersz wyświetla: przycisk przeładowywania (reload.gif) i dwa comboBoxes (CMB1 i CMB2). Oto edytowany kod tylko jednego rzędu:
<table>
<form name="myformname" form action="Handler.php" method="post">
<tr>
<td>
<input type="hidden" name="MyQuestion" value="0">
<input type="image" src="Reload.gif" border="0"/>
</td>
<td>
<select name="cmb1"><option>One</option><option>Two</option></select>
</td>
<td>
<select name="cmb2"><option>A1</option><option>A2</option></select>
</td>
</tr>
</form>
</table>
Zmienne Myquestion, CMB1 i CMB2 (wybrany przez użytkownika) są przekazywane do Handler.php (jak wszystkie są w tej samej formie), które przeszukają dane w bazach danych i przeładować stronę z nowymi danymi. To działa ok.
Ale teraz chcę zmienić logikę, bo nie chcę przeładować całej strony, ale tylko wiersz, który został kliknięty. Próbowałem z jQuery coś takiego (Onclick dodał do przeładunku.gif!):
<table>
<tr>
<td>
<input type="hidden" name="MyQuestion" value="0">
<input type="image" onclick="recp('0')" src="Reload.gif" border="0" name="MyQuestion" value="0"/>
</td>
<td>
<select name="cmb1"><option>One</option><option>Two</option></select>
</td>
<td>
<select name="cmb2"><option>A1</option><option>A2</option></select>
</td>
</tr>
</table>
A w nagłówku dodałem ten kod (wziąłem go z Tutaj)
function recp(id) {
$('#myStyle').load('data.php?id=' + id);
}
Mam kilka wyników dla identyfikatora, ale oto moje pytanie: w
load('data.php?id=' + id)
Czy mogę wysłać wiele zmiennych (ID, CMB1 i CMB2)?
2 odpowiedzi
Aby wysłać wiele zmiennych, na przykład można użyć,
load('data.php?id=' + id + '&var1=' + var1 + '&var2=' + var2)
Więcej przykładów i innych sposobów, aby to zrobić, spójrz na instrukcję jQuery dla Funkcja obciążenia .
Dlaczego nie używać .Serialize ()?
$("#myStyle").load('data.php?' + $("form[name=myformname]").serialize());