Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Java][PHP]Trochę nietypowy koszyk na zakupy...POMOCY
Forum PHP.pl > Forum > Przedszkole
Krismen
Witam, mam problem ze zrobieniem czegoś w stylu koszyka na zakupy ale trochę innym niż zwykle.

Stworzyłem coś takiego: Link

Czyli najpierw użytkownik zaznacza checkboxy obok danego towaru (szare pola).
Kiedy zaznaczy, dany towar ląduje poniżej na żółtych polach a wraz z nim w jednym wierszu wchodzą dwa
inputy radio (Dodaj i Usun) i dwa divy . Jeśli kliknie np. w dodaj obok wybranego towaru, jego nazwa wchodzi w pole
dodane, kiedy kliknie usun - przeskakuje w pole usunięte. I wszystko było by super, ale jeśli jest już
wybrane kilka towarów a chcę jeszcze coś dodać z górnych pól i kliknę w dowolnego checkboxa to dolne
inputy radio się czyszczą, to samo z divami... Co zrobić żeby pola radio (na żółtych polach) pozostały zaznaczone a w divach pozostały nazwy towaru?


KOD 1 pliku:

  1. <?php
  2.  
  3. include_once('znaczniki.html');
  4. ?>
  5.  
  6. <body>
  7.  
  8.  
  9.  
  10.  
  11. <div id="pojemnik" class="kolorek">
  12.  
  13. <label>Towar 1</label>
  14. <input type='checkbox' name='nazwa[]' id='towar1' value='towar1'><br />
  15.  
  16. <label>Towar 2</label>
  17. <input type='checkbox' name='nazwa[]' id='towar2' value='towar2'><br />
  18.  
  19. <label>Towar 3</label>
  20. <input type='checkbox' name='nazwa[]' id='towar3' value='towar3'><br />
  21.  
  22. <label>Towar 4</label>
  23. <input type='checkbox' name='nazwa[]' id='towar4' value='towar4'><br />
  24.  
  25. <label>Towar 5</label>
  26. <input type='checkbox' name='nazwa[]' id='towar5' value='towar5'><br />
  27.  
  28. <label>Towar 6</label>
  29. <input type='checkbox' name='nazwa[]' id='towar6' value='towar6'><br />
  30.  
  31. <label>Towar 7</label>
  32. <input type='checkbox' name='nazwa[]' id='towar7' value='towar7'><br />
  33.  
  34. <label>Towar 8</label>
  35. <input type='checkbox' name='nazwa[]' id='towar8' value='towar8'><br />
  36.  
  37. <label>Towar 9</label>
  38. <input type='checkbox' name='nazwa[]' id='towar9' value='towar9'><br />
  39.  
  40. </div>
  41.  
  42.  
  43.  
  44. <div id="zwrot" style="border: 1px solid red">
  45.  
  46. </div>
  47.  
  48.  
  49. </body>
  50.  
  51.  
  52.  
  53. <script type="text/javascript">
  54.  
  55.  
  56.  
  57.  
  58. $('#pojemnik input:checkbox').click(function(){
  59.  
  60.  
  61.  
  62. var wybor=$(this).attr('value');
  63.  
  64. var url='kosz.php';
  65.  
  66. var data=
  67. {
  68. wybor: wybor
  69. }
  70.  
  71. $.get(url,data,callback)
  72.  
  73.  
  74. })
  75.  
  76.  
  77. function callback(data, status)
  78. {
  79.  
  80. var newhtml;
  81.  
  82. if(status=='success')
  83. {
  84.  
  85. newhtml="<span><b>CO WYBRAŁES:</b></span><br />";
  86. newhtml+="<div id='towar' class='kolorek'>";
  87. newhtml+="<div class='pkd_nazwa t_c'><p><b>Nazwa</b></p></div>";
  88. newhtml+="<div class='pkd_input t_c silver'><p><b>Dodaj</b></p></div>";
  89. newhtml+="<div class='pkd_input t_c silver'><p><b>Usun</b></p></div>";
  90. newhtml+="<div class='branze t_c silver'><p><b>Dodane</b></p></div>";
  91. newhtml+="<div class='branze t_c silver'><p><b>Usuniete</b></p></div>";
  92. newhtml+="</div>";
  93.  
  94. newhtml+=data;
  95.  
  96.  
  97. }
  98.  
  99. $('#zwrot').html(newhtml);
  100.  
  101.  
  102. }
  103. </script>
  104.  




KOD pliku KOSZ

<?php
session_start();
header("Content-Type: text/html; charset=utf-8");
$nowy=$_GET['wybor'];


if($nowy)
{

if (!isset($_SESSION['koszyk']))
{
$_SESSION['koszyk']=array();
}
if (!isset($_SESSION['koszyk'][$nowy]))
{
($_SESSION['koszyk'][$nowy]=1);
}
else
{
unset($_SESSION['koszyk'][$nowy]);

}

}

$lp=0;

foreach ($_SESSION['koszyk'] as $towar => $ilosc)
{
$lp++;

echo "<div id='wiersz' class='kolorek'>";

echo "<div class='pkd_nazwa'>";

echo $towar;

echo "</div>";



echo "<div class='pkd_input'>";



echo "<input type='radio' class='auto d_b m_a guzik' name='".$towar."' value='D'/>";

echo "</div>";


echo "<div class='pkd_input'>";



echo "<input type='radio' class='auto d_b m_a guzik' name='".$towar."' value='U'/>";

echo "</div>";

echo "<div id='D".$towar."' class='branze t_c'>";

echo "</div>";


echo "<div id='U".$towar."' class='branze t_c'>";

echo "</div>";



echo "</div>";

}

?>


<script type="text/javascript">


$('.guzik').click(function(){

var value=$(this).attr('value');
var name=$(this).attr('name');

if(value=="D")
{
$('#'+value+name).html(name);
$('#U'+name).html('');
}

if(value=="U")
{
$('#'+value+name).html(name);
$('#D'+name).html('');
}





})





</script>



CuteOne
Zapisz sobie wszystkie akcje do jakiegoś obiektu a potem na nim operuj:

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var koszyk = [
  3. {towar:'tabletki', radio1: 1, radio2: 0},
  4. {towar:'pampersy', radio1: 0, radio2: 1}
  5. ];
  6.  
  7. //jakas akcja, która na końcu pobiera radio1, radio2 i ustawia je tak jak były przed zaznaczeniem checkboxa
  8. //a po niej update obiektu koszyk
  9.  
[JAVASCRIPT] pobierz, plaintext


ps. bez sensu jest pobieranie całego wiersza z PHP. Lepiej wysłać dane JSON'em i za pomocą JS wyświetlić
ps2. java to nie javascript
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.