Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]pola select option
Forum PHP.pl > Forum > Przedszkole
cent4
Jest pole select option - wybiera się opcję i pod nim jest div - gdzie wybrana opcja jest wypisana...
2 pytania:
1. Jak zrobić wypisanie do pola tekstowego, a nie div?
2. Chcę zrobić 2 takie pola, z dwoma polami tekstowymi + jeszcze jedno pole tekstowe, do którego wypisze się dana opcja - która jest zależna od wybranych wcześniej 2.
Np.:
1 pole select - wybieram rodzaj książki
1 pole tekstowe - wypis wybranego rodzaju książki
2 pole select - wybieram typ książki
2 pole tekstowe - wypis wybranego typu książki
3 pole tekstowe - wypisuje kolejny numer id z bazy (gdzie książka ma taki sam jak wybrany rodzaj i taki sam jak wybrany typ)

Jak to zrobić?

Plik, który wypisuje dane z pola select jest pod adresem:
http://api.jquery.com/selected-selector/
oto kod:
  1. <!DOCTYPE html>
  2. div { color:red; }
  3. </style>
  4. <script src="http://code.jquery.com/jquery-latest.js"></script>
  5. </head>
  6. <select name="garden" multiple="multiple">
  7.  
  8. <option>Flowers</option>
  9. <option selected="selected">Shrubs</option>
  10. <option>Trees</option>
  11. <option selected="selected">Bushes</option>
  12.  
  13. <option>Grass</option>
  14. <option>Dirt</option>
  15. </select>
  16. <div></div>
  17.  
  18. $("select").change(function () {
  19. var str = "";
  20. $("select option:selected").each(function () {
  21. str += $(this).text() + " ";
  22. });
  23. $("div").text(str);
  24. })
  25. .trigger('change');
  26.  
  27. </body>
  28. </html>


Proszę bardzo o pomoc...
Spawnm
Daj zamiast <div> input typu text z jakimś id.
No i w js/jquery zmieniasz $("div").text(str); na $("#id").val(str)
cent4
OK.
A jak zrobić pkt. 2 - w sumie chodzi o to jak zrobić 3 pole, które po wybraniu dwóch select'ów do trzeciego pola tekstowego samo wpisze automatycznie daną zależną od wybranych dwóch opcji - tak jak to opisałem poniżej?:

2. Chcę zrobić 2 takie pola, z dwoma polami tekstowymi + jeszcze jedno pole tekstowe, do którego wypisze się dana opcja - która jest zależna od wybranych wcześniej 2.
Np.:
1 pole select - wybieram rodzaj książki
1 pole tekstowe - wypis wybranego rodzaju książki
2 pole select - wybieram typ książki
2 pole tekstowe - wypis wybranego typu książki
3 pole tekstowe - wypisuje kolejny numer id z bazy (gdzie książka ma taki sam jak wybrany rodzaj i taki sam jak wybrany typ)
Spawnm
Przy wyborze dowolnego selekta pobierasz wartości z obydwu i sprawdzasz czy oba są już wybrane. Jeśli tak, dajesz ajax aby pobrać z db dane do 3 pola. Zrobisz to np. przez $('#trzy').load('/trzy.php?rodzaj='+rodzaj+'&typ='+typ);
cent4
Wypis z selectów działa super - jak zrobić sprawdzenie czy wybrano i pobranie wybranych opcji i jak je przekazać do pliku php, następnie jak je pobrać już w pliku php?

  1. <!DOCTYPE html>
  2. div { color:red; }
  3. </style>
  4. <script src="jquery-1.4.4.min.js"></script>
  5. </head>
  6. <select id="s1">
  7. <option>11</option>
  8. <option>12</option>
  9. <option>13</option>
  10. <option>14</option>
  11. <option>15</option>
  12. <option>16</option>
  13. </select>
  14.  
  15. <select id="s2">
  16. <option>221</option>
  17. <option>222</option>
  18. <option>223</option>
  19. <option>224</option>
  20. <option>225</option>
  21. <option>226</option>
  22. </select>
  23. <br>
  24. <input type="text" id="jeden">
  25. <br>
  26. <input type="text" id="dwa">
  27. <br>
  28. <br>
  29. <br>
  30. <input type="text" id="trzy">
  31. $("#s1").change(function () {
  32. var str = "";
  33. $("#s1 option:selected").each(function () {
  34. str += $(this).text() + " ";
  35. });
  36. $("#jeden").val(str);
  37. })
  38. .trigger('change');
  39.  
  40. $("#s2").change(function () {
  41. var str = "";
  42. $("#s2 option:selected").each(function () {
  43. str += $(this).text() + " ";
  44. });
  45. $("#dwa").val(str);
  46. })
  47. .trigger('change');
  48.  
  49.  
  50.  
  51. //$('#trzy').load('plik.php?jeden='+jeden+'&dwa='+dwa);
  52.  
  53. </body>
  54. </html>
Spawnm
Przecież ci napisałem post wyżej...
Cytat
następnie jak je pobrać już w pliku php

W moim przykładzie wysłałem geta więc użyj $_GET
cent4
Nie no - wszystko napisałeś bardzo czytelnie i jasno.
Ale mam problem z "prostymi" rzeczami - raczkuję w ajaxie :-)...
1. Jak po wyborze dowolnego selekta pobierać wartości z obydwu selectów?
2. Jak sprawdzić czy selecty zostały wybrane?
Spawnm
1. Bodajże s1 = $('#mySelect').val(); i tak samo dla drugiego.
2. sprawdzasz czy s1 != '' smile.gif
cent4
Coś nie chce do trzeciego pola tekstowego wpisywać np. wybranych opcji (z pliku php):
echo $_GET["jeden"];
echo $_GET["dwa"];

  1. <!DOCTYPE html>
  2. div { color:red; }
  3. </style>
  4. <script src="jquery-1.4.4.min.js"></script>
  5. </head>
  6. <select id="s1">
  7. <option>11</option>
  8. <option>12</option>
  9. <option>13</option>
  10. <option>14</option>
  11. <option>15</option>
  12. <option>16</option>
  13. </select>
  14.  
  15. <select id="s2">
  16. <option>221</option>
  17. <option>222</option>
  18. <option>223</option>
  19. <option>224</option>
  20. <option>225</option>
  21. <option>226</option>
  22. </select>
  23. <br>
  24. <input type="text" id="jeden">
  25. <br>
  26. <input type="text" id="dwa">
  27. <br>
  28. <br>
  29. <br>
  30. <input type="text" id="trzy">
  31. $("#s1").change(function () {
  32. var str = "";
  33. $("#s1 option:selected").each(function () {
  34. str += $(this).text() + " ";
  35. });
  36. $("#jeden").val(str);
  37. s1 = $('#s1').val();
  38. })
  39. .trigger('change');
  40.  
  41. $("#s2").change(function () {
  42. var str = "";
  43. $("#s2 option:selected").each(function () {
  44. str += $(this).text() + " ";
  45. });
  46. $("#dwa").val(str);
  47. s2 = $('#s2').val();
  48. })
  49. .trigger('change');
  50.  
  51.  
  52.  
  53. if (s1!=''){
  54. if (s2!=''){
  55. $('#trzy').load('plik.php?jeden='+s1+'&dwa='+s2);
  56. }
  57. }
  58.  
  59. </body>
  60. </html>


plik.php:
  1. <?php
  2. echo $_GET["jeden"];
  3. echo $_GET["dwa"];
  4. ?>


Dlaczego mi dynamicznie nie wypisuje danych z zewnętrznego pliku, jeżeli wybieram opcje select option?

  1. <select id="s1">
  2. <option>11</option>
  3. <option>12</option>
  4. <option>13</option>
  5. <option>14</option>
  6. <option>15</option>
  7. <option>16</option>
  8. </select>
  9.  
  10. <select id="s2">
  11. <option>221</option>
  12. <option>222</option>
  13. <option>223</option>
  14. <option>224</option>
  15. <option>225</option>
  16. <option>226</option>
  17. </select>
  18. ...
  19. <input type="text" id="jeden">
  20. <input type="text" id="dwa">
  21. <input type="text" id="trzy">
  22. $("#s1").change(function () {
  23. var str = "";
  24. $("#s1 option:selected").each(function () {
  25. str += $(this).text() + " ";
  26. });
  27. $("#jeden").val(str);
  28. s1 = $('#s1').val();
  29. })
  30. .trigger('change');
  31.  
  32. $("#s2").change(function () {
  33. var str = "";
  34. $("#s2 option:selected").each(function () {
  35. str += $(this).text() + " ";
  36. });
  37. $("#dwa").val(str);
  38. s2 = $('#s2').val();
  39. })
  40. .trigger('change');
  41.  
  42.  
  43.  
  44.  
  45. if (s1!='0'){
  46. if (s2!='0'){
  47. $("#trzy").load("plik.php?jeden="+s1+"&dwa="+s2);
  48. }
  49. }


plik: plik.php:
  1. <?php
  2. echo 12;
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.