Próbuję dodać element do tablicy w javascript, a następnie serializować tablicę. Wydaje się jednak, że nie działa.Dodawanie elementów do tablicy, a następnie serializowanie() javascript
Proszę zobaczyć poniższy kod, co robię źle?
Próbuję dodać element do tablicy w javascript, a następnie serializować tablicę. Wydaje się jednak, że nie działa.Dodawanie elementów do tablicy, a następnie serializowanie() javascript
Proszę zobaczyć poniższy kod, co robię źle?
Wypróbuj poniższy fragment kodu javscript. Nie próbowałem, ale myślę, że to może działać:
var currentParent = $(this).closest('tr');
var items = $(currentParent).find("input, select");
items["_token"] = $('input[name=_token]').val();
var strData = items.serialize();
Zobacz poniższy link skrzypce: https://jsfiddle.net/nanncngr/
Dzięki, po prostu próbowałem tego, ale jeśli zrobię 'alert (strData) ;, widzę, że _token nadal nie jest dodawany do tablicy. – V4n1ll4
Myślę, że to powinno działać. Jeśli klucz "_token" nie zostanie utworzony, wypróbuj funkcję javascript push, aby dodać klucz "_token". –
Po prostu próbowałem 'items.push ([{_ token: $ ('input [name = _token]'. Val()}]);' ale nadal nie ma szczęścia – V4n1ll4
Method serialize
musi być stosowana do całej postaci, a nie do konkretnych elementów w tablicy, jeśli aby szeregować istniejący obiekt lub tablicę trzeba użyć param
zamiast
http://api.jquery.com/jquery.param/
Jako przykład:
<form action="">
<input class="token" name="token" value="someValue" />
<input class="someData" name="someData" />
</form>
<script>
alert($('form').serialize()) // should show you someData=&token=someValue
</script>
https://jsfiddle.net/4cxa36vp/
... albo ...
var options = {
token : $('input.token').val(),
someData : null
}
alert($.param(options)) // should give you the same
https://jsfiddle.net/0ec8axot/
Ponadto, upewnij się, że pola formularza mają atrybut name
Dzięki za twoją sekcję "... lub ..." Andy, spędziłem trochę czasu próbując dowiedzieć się, dlaczego nie mogłem '.serialize()' prostej tablicy. [jQuery '.serialize()' docs] (https://api.jquery.com/serialize/) nawet nie odwołuje się do ['$ .param()'] (https://api.jquery.com/jQuery. param /) i przez chwilę miałem wariować. – CPHPython
'items' nie jest tablicą, jest obiektem jQuery. Po prostu przyklejesz do niego właściwości, prawdopodobnie nie zrobisz tego, co myślisz. – Yoshi
Być może https://api.jquery.com/jQuery.makeArray/ – mplungjan