Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML][JavaScript] Dynamiczne kopiowanie elementów strony po naciśnięciu przycisku.
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


Hej,

Chciałbym na stronie zrobić dynamiczne tworzenie input, tak że można ich stworzyć nawet i 100 i zawsze wyglądają tak samo.

Mam taki kod:
  1. <div class="row">
  2.  
  3. <div class="col-lg-2">
  4. <div class="form-group">
  5. <input class="form-control" name="model" placeholder="Kod towaru">
  6. </div>
  7. </div>
  8.  
  9. <div class="col-lg-2">
  10. <div class="form-group">
  11. <input class="form-control" name="model" placeholder="Nazwa towaru">
  12. </div>
  13. </div>
  14.  
  15. <div class="col-lg-2">
  16. <div class="form-group">
  17. <input class="form-control" name="model" placeholder="Ilość">
  18. </div>
  19. </div>
  20.  
  21. <div class="col-lg-2">
  22. <div class="form-group">
  23. <input class="form-control" name="model" placeholder="Wartość całkowita">
  24. </div>
  25. </div>
  26.  
  27. <div class="col-lg-2">
  28. <div class="form-group">
  29. <select name="klient" class="form-control">
  30. <?php
  31. $mysql_klient = mysql_query("SELECT * FROM klient") or die('Błąd zapytania');
  32.  
  33. if(mysql_num_rows($mysql_klient) > 0) {
  34. while($rklient = mysql_fetch_assoc($mysql_klient)) {
  35. echo '<option value="'.$rklient['id'].'">'.$rklient['imie'].' '.$rklient['nazwisko'].'</option>';
  36. }
  37. }
  38. ?>
  39. </select>
  40. </div>
  41. </div>
  42.  
  43. <div class="col-lg-2">
  44. <div class="form-group">
  45. <select name="klient" class="form-control">
  46. <?php
  47. $mysql_sam = mysql_query("SELECT * FROM samochod") or die('Błąd zapytania');
  48.  
  49. if(mysql_num_rows($mysql_sam) > 0) {
  50. while($rsam = mysql_fetch_assoc($mysql_sam)) {
  51. echo '<option value="'.$rsam['id'].'">'.$rsam['model'].' '.$rsam['marka'].'</option>';
  52. }
  53. }
  54. ?>
  55. </select>
  56. </div>
  57. </div>
  58.  
  59. </div>


I chciałbym aby po naciśnięciu przycisku np.: "Dodaj" powielało się ten cały kod, tylko wiadomo później trzeba zrobić odpowiednie name="" tak aby rozpoznać je po stronie PHP..

Dodatkowo chciałbym zrobić tak aby po wyborze Klienta z pierwszej listy (select) dynamicznie się wyświetlała lista z Samochodami (drugi select) dla danego klienta, nie wiem zbytnio jak to zrobić.


W sumie poradziłbym sobie z tworzeniem tych samych gołych inputów, ale nie wiem jak później dodać ten kod PHP, Divy itd.., dlatego liczę na waszą pomoc (IMG:style_emoticons/default/smile.gif)


Pozdrawiam i z góry bardzo dziękuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Giluś
post
Post #2





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


Wszystko jest w 1 pliku, printuje na samej górze strony..
Całość wygląda tak:

  1. <?php
  2. require_once('var/ustawienia.php');
  3. require_once('szablon_gora.php');
  4. ?>
  5.  
  6. <div id="page-wrapper">
  7. <div class="row">
  8. <div class="col-lg-12">
  9. <h1 class="page-header">Dodawanie pozycji do zamówień</h1>
  10. </div>
  11. <!-- /.col-lg-12 -->
  12. </div>
  13. <!-- /.row -->
  14. <div class="row">
  15. <div class="col-lg-12">
  16. <div class="panel panel-default">
  17. <div class="panel-heading">
  18. Dodawanie pozycji do konkretnego zamówienia.
  19. </div>
  20. <div class="panel-body">
  21. <div class="row">
  22. <div class="col-lg-8 col-lg-offset-2">
  23. <?php
  24.  
  25.  
  26.  
  27. echo '<pre>';
  28. var_dump($_POST);
  29. echo '</pre>';
  30. ?>
  31.  
  32.  
  33. <form role="form" method="POST">
  34.  
  35. <div class="form-group">
  36. <label>Zamówienie <br /><a href="add_zamowienie.php">Dodaj zamówienie.</a></label>
  37. <select name="nr_zamowienia" class="form-control">
  38. <?php
  39.  
  40. $mysql_zamow = mysql_query("SELECT * FROM zamowienia ORDER BY `zamowienia`.`id` DESC
  41. ") or die('Błąd zapytania');
  42.  
  43. if(mysql_num_rows($mysql_zamow) > 0) {
  44. while($rzam = mysql_fetch_assoc($mysql_zamow)) {
  45. echo '<option value="'.$rzam['id'].'">'.$rzam['numer_zamowienia'].' ('.$rzam['firma'].' '.$rzam['data1'].')</option>';
  46. }
  47. }
  48. ?>
  49. <option value="0">Inny</option>
  50. </select>
  51. </div>
  52.  
  53. </div>
  54. <!-- /.col-lg-6 (nested) -->
  55. </div>
  56. <!-- /.row (nested) -->
  57.  
  58.  
  59. <div class="row">
  60.  
  61. <div class="col-lg-2" id="input1">
  62. <div class="form-group">
  63. <input class="form-control" name="kod[1]" placeholder="Kod towaru">
  64. </div>
  65. </div>
  66.  
  67. <div class="col-lg-2" id="input2">
  68. <div class="form-group">
  69. <input class="form-control" name="nazwa[1]" placeholder="Nazwa towaru">
  70. </div>
  71. </div>
  72.  
  73. <div class="col-lg-2" id="input3">
  74. <div class="form-group">
  75. <input class="form-control" name="ilosc[1]" placeholder="Ilość">
  76. </div>
  77. </div>
  78.  
  79. <div class="col-lg-2" id="input4">
  80. <div class="form-group">
  81. <input class="form-control" name="wartosc[1]" placeholder="Wartość całkowita">
  82. </div>
  83. </div>
  84.  
  85.  
  86. <div class="col-lg-2" id="input5">
  87. <div class="form-group">
  88. <select name="klient[1]" class="form-control">
  89. <option>Wybierz klienta</option>
  90. <?php
  91. $mysql_klient = mysql_query("SELECT * FROM klient") or die('Błąd zapytania');
  92.  
  93. if(mysql_num_rows($mysql_klient) > 0) {
  94. while($rklient = mysql_fetch_assoc($mysql_klient)) {
  95. echo '<option value="'.$rklient['id'].'">'.$rklient['imie'].' '.$rklient['nazwisko'].'</option>';
  96. }
  97. }
  98. ?>
  99. </select>
  100. </div>
  101. </div>
  102.  
  103. <div class="col-lg-2">
  104. <div class="form-group" id="cars">
  105.  
  106. </div>
  107. </div>
  108. </div>
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. <div class="row">
  116. <div class="col-lg-8 col-lg-offset-2">
  117.  
  118.  
  119.  
  120. <button type="submit" class="btn btn-default">Dodaj</button>
  121. <button type="reset" class="btn btn-default">Wyczyść pola</button>
  122. </form>
  123.  
  124.  
  125. <button id="add">Add</button>
  126.  
  127.  
  128.  
  129. </div>
  130. <!-- /.col-lg-6 (nested) -->
  131. </div>
  132. <!-- /.row (nested) -->
  133. </div>
  134. <!-- /.panel-body -->
  135. </div>
  136. <!-- /.panel -->
  137. </div>
  138. <!-- /.col-lg-12 -->
  139. </div>
  140. <!-- /.row -->
  141. </div>
  142. <!-- /#page-wrapper -->
  143.  
  144. </div>
  145. <!-- /#wrapper -->
  146.  
  147. <!-- jQuery -->
  148. <script src="/bower_components/jquery/dist/jquery.min.js"></script>
  149.  
  150. <!-- Bootstrap Core JavaScript -->
  151. <script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
  152.  
  153. <!-- Metis Menu Plugin JavaScript -->
  154. <script src="/bower_components/metisMenu/dist/metisMenu.min.js"></script>
  155.  
  156. <!-- Custom Theme JavaScript -->
  157. <script src="/dist/js/sb-admin-2.js"></script>
  158.  
  159. <script>
  160. $(document).ready(function() {
  161. var i = 2;
  162. $('#add').on('click', function(e){
  163. var ii = i++;
  164. e.preventDefault();
  165. var input = '<div class="form-group"><input class="form-control" name="kod['+(ii)+']" placeholder="Kod towaru['+(ii)+']"></div>';
  166. $('#input1').append(input);
  167.  
  168. var input = '<div class="form-group"><input class="form-control" name="nazwa['+(ii)+']" placeholder="Nazwa towaru['+(ii)+']"></div>';
  169. $('#input2').append(input);
  170.  
  171. var input = '<div class="form-group"><input class="form-control" name="ilosc['+(ii)+']" placeholder="Ilość['+(ii)+']"></div>';
  172. $('#input3').append(input);
  173.  
  174. var input = '<div class="form-group"><input class="form-control" name="wartosc['+(ii)+']" placeholder="Wartość całkowita['+(ii)+']"></div>';
  175. $('#input4').append(input);
  176.  
  177. var input = '<div class="form-group"><select name="klient['+(ii)+']" class="form-control"><option>Wybierz klienta</option><?php $mysql_klient = mysql_query("SELECT * FROM klient") or die('Błąd zapytania'); if(mysql_num_rows($mysql_klient) > 0) { while($rklient = mysql_fetch_assoc($mysql_klient)) { echo '<option value="'.$rklient['id'].'">'.$rklient['imie'].' '.$rklient['nazwisko'].'</option>';} } ?> </select></div>';
  178. $('#input5').append(input);
  179.  
  180. });
  181.  
  182. $('[name=klient]').on('change', function () {
  183. var id_klient = $(this).val();
  184. $("#cars").load("/var/option_samochod_zamowienie.php", {id_klient: id_klient});
  185. });
  186. });
  187. </script>
  188. </body>
  189.  
  190. </html>
  191.  
  192.  
  193. <?php
  194. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 06:38