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:
<?php include_once('znaczniki.html'); ?> <body> <div id="pojemnik" class="kolorek"> <label>Towar 1</label> <input type='checkbox' name='nazwa[]' id='towar1' value='towar1'><br /> <label>Towar 2</label> <input type='checkbox' name='nazwa[]' id='towar2' value='towar2'><br /> <label>Towar 3</label> <input type='checkbox' name='nazwa[]' id='towar3' value='towar3'><br /> <label>Towar 4</label> <input type='checkbox' name='nazwa[]' id='towar4' value='towar4'><br /> <label>Towar 5</label> <input type='checkbox' name='nazwa[]' id='towar5' value='towar5'><br /> <label>Towar 6</label> <input type='checkbox' name='nazwa[]' id='towar6' value='towar6'><br /> <label>Towar 7</label> <input type='checkbox' name='nazwa[]' id='towar7' value='towar7'><br /> <label>Towar 8</label> <input type='checkbox' name='nazwa[]' id='towar8' value='towar8'><br /> <label>Towar 9</label> <input type='checkbox' name='nazwa[]' id='towar9' value='towar9'><br /> </div> <div id="zwrot" style="border: 1px solid red"> </div> </body> <script type="text/javascript"> $('#pojemnik input:checkbox').click(function(){ var wybor=$(this).attr('value'); var url='kosz.php'; var data= { wybor: wybor } $.get(url,data,callback) }) function callback(data, status) { var newhtml; if(status=='success') { newhtml="<span><b>CO WYBRAŁES:</b></span><br />"; newhtml+="<div id='towar' class='kolorek'>"; newhtml+="<div class='pkd_nazwa t_c'><p><b>Nazwa</b></p></div>"; newhtml+="<div class='pkd_input t_c silver'><p><b>Dodaj</b></p></div>"; newhtml+="<div class='pkd_input t_c silver'><p><b>Usun</b></p></div>"; newhtml+="<div class='branze t_c silver'><p><b>Dodane</b></p></div>"; newhtml+="<div class='branze t_c silver'><p><b>Usuniete</b></p></div>"; newhtml+="</div>"; newhtml+=data; } $('#zwrot').html(newhtml); } </script>
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>