Jak wczytać skrypt dla elementów formularza, które są dodawane dynamicznie i ich wartości są wczytywane do tablicy? Chodzi o to, że dla pierwszego wiersza jest wszytko ok, ale kolejne pola "select" utworzone dynamicznie nie mają już tych wartości wczytanych. "Body" ma zdarzenie "onload", a jak to zrobić dla innych? Próbowałem "onlick" ale zadziałało tylko do pola "select" w którym to zdarzenie było wpisane.
To jest skrypt, ktory dodaje dynamicznie wiersze. On działa prawidłowo.
<head> <title>Dynamiczne formularze</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> <script language="javascript" src="chainedselects.js"></script> //to są js od zależny pól wyboru <script language="javascript" src="exampleconfig2.js"></script> //to są js od zależny pól wyboru </head> <script type="text/javascript"> $(document).ready(function(){ var i = 2; var szablonWiersza = jQuery.format($("#szablon").val()); function dodajWiersz() { var ii = i++; $(szablonWiersza(ii)).appendTo("#listaProduktow tbody"); $("#usunWiersz" + ii).click(function(){ $("#wiersz_" + ii).remove(); }); } $("#dodajWierszz").click(dodajWiersz); }); </script>
Tutaj jest szablon jednego wiersza:
<textarea id="szablon" style="display:none;" cols="1" rows="1"> <tr id="wiersz_{0}" valign="top"> <td>{0}.</td> <td><select name="grupa[]" style="width: 100%;"></select></td> <td><select name="produkt[]" style="width: 100%;"></select></td> <td><input type="text" name="cena[]" style="width: 100px;"></td> <td><input type="text" name="ilosc[]" style="width: 97%;"></td> <td><img src="usun.png" id="usunWiersz_{0}" alt="usun"></td> </tr> </textarea>
Tutaj mam linijkę html, która wczytuje na samym początku zależność pól Select (czyli wczytanie listy opcji do drugiego Select jest zależne od wyboru opcji w pierwszym Select):
<body onload="initListGroup('vehicles', document.forms[0].grupa, document.forms[0].produkt, 'cs')">
Próbowałem tak i niby częściowo działało, ale kurka nie łapie tego. ;/
<body onload="initListGroup('vehicles', document.forms[0].elements['grupa[]'], document.forms[0].elements['produkt[]'], 'cs')">