Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Problem z chexboxami i listami rozwijalnymi
raval
post
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

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


Witam,

Mam problem zwiazany z zaznaczeniem checkboxow. Podkreślam, ze jestem poczatkujacy.

Problem polega na tym, ze dla kazdego zaznaczonego check boxa, ma sie pojawic lista rozwijalna.

Poniżej zamieszczan kod HTML:

Kod
<table border="0" style="display: inline;">
            
            
            <tr><td><input type="checkbox" name="dotykowy" value="1" id="box"  />android</td>
            
            <td><select id="lista" name="nazwa" value="1">
                  <option>-- wybierz --</option>  
            </select>
            </td></tr>
            
            
            <tr><td><input type="checkbox" name="zwykły" value="2" id="box" />windows</td>
            
            <td><select id="lista" name="nazwa" value="2">
                  <option>-- wybierz --</option>  
            </select>
            </td></tr></table>


Stworzylem tabele, w ktorej mieszcza sie w przykładzie dwa "checkbox'y" oraz dwie listy rozwijalne, ktore sa ukryte (planuje by bylo ich wiecej).

Teraz poprzez jQuery chcialbym by przy kliknieciu checkboxa, lista sie pojawila. Napisalem maly skrypcik, gdzie pojawia sie, ale tylko dla pierwszego checkboxa, drugi w ogole nie dziala.

Moje pytanie brzmi jak napisac poprawnie skrypt jQuery, zeby dzialal na wszystkich checkboxow, tzn. ze jak zaznacze drugi checkbox, pojawi sie druga lista rozwijalna.

Ponizej zamieszczam moj skrypcik:

Kod
$(document).ready(
   function()
   {
        $("#box").click(function(){
      if($(this).is(":checked") )
      //if($(this).attr("checked")) //attribute
      {
      $("#lista").show();
      //$(this).next("#lista").show();
      }
      else
      {
      $("#lista").hide();
      }
      
      });


Bardzo proszę o pomoc wink.gif
Powód edycji: [phpion]: Przeniosłem opis tematu do tytułu.
Go to the top of the page
+Quote Post
pablo_83
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 16
Dołączył: 11.01.2009
Skąd: wrocław

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


po pierwsze id nie mogą być takie same -> wywali ci błędy już sam walidator html

daj sobie id np #lista1, lista2 itd
wtedy pobierz sobie wartość value z zaznaczonego checkboxa

i wyświetlasz listę dla danego checkboxa
  1. $(document).ready(
  2. function()
  3. {
  4. $("#box").click(function(){
  5. if($(this).is(":checked") )
  6. {
  7. var nr_listy = $(this).val();
  8. $("#lista"+nr_listy).show();
  9.  
  10. }
  11. else
  12. {
  13. $("#lista"+nr_listy).hide();
  14. }
  15.  
  16. });


w sumie elsa też możesz usunąć, wystarczy że do list dopiszesz display:none to one domyslnie nie będą widoczne, pokażą się dopiero po zaznaczeniu checkboxa

Ten post edytował pablo_83 1.04.2011, 12:20:49
Go to the top of the page
+Quote Post
raval
post
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

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


Problem rozwiązany, dzieki wielkie za pomoc pablo_83 wink.gif

Tak wyglada kodzik po poprawce:

Kod
$("input:checkbox").click(function(){

var nr_listy = $(this).val();

if($(this).is(":checked") )
{
$("#lista"+nr_listy).show();
}
else
{
$("#lista"+nr_listy).hide();
}
    });


Ten post edytował raval 1.04.2011, 17:03:01
Go to the top of the page
+Quote Post

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: 21.08.2025 - 17:16