2009-10-07 32 views
6

Jak mogę ustawić przyciski radiowe, które zostaną wybrane, gdy kliknę dowolną z dwóch etykiet przed tym przyciskiem radiowym?wybierz przycisk radiowy na etykiecie kliknij

Mam następujący kod dla przycisków radiowych:

<div class="label_main" style="width:350px"> 
    <div class="label_radio"> 
     <input type="radio" name="group1" id="group1" value="0" 
     <?php if($r0==0) { ?> 
     checked="checked" 
     <?php } ?> 
     /> 
    </div> 
    <div class="label_top"> 
     <label for="group1">First Option </label> 
    </div> 
    <div class="label_desc"> 
     <label for="group1">This is first option </label> 
    </div> 
    </div> 
     </div> 

    <div class="label_main" style="width:350px"> 
    <div class="label_radio"> 
     <input type="radio" name="group1" id="group1" value="1" 
     <?php if($r0==1) { ?> 
     checked="checked" 
     <?php } ?> 
     /> 
    </div> 
    <div class="label_top"> 
     <label for="group1">Second Option </label> 
    </div> 
    <div class="label_desc"> 
     <label for="group1">This is Second Option </label> 
    </div> 
    </div>   

Jedyny problem mam jeśli zmienię radia identyfikator to działa dobrze, ale muszę sam identyfikator przyczyny muszę jej wartość na koniec, aby zapisać w bazie danych .

+1

Przyciski radiowe powinny mieć tę samą "nazwę", ale nie mogą mieć tego samego "identyfikatora". HTML wymaga, aby identyfikatory były unikalne. – Powerlord

Odpowiedz

15

Dezorientujesz atrybut name za pomocą atrybutu id.

Powinny one mieć takie same nazwy, ale inny identyfikator.

Na przykład:

<input type="radio" name="group1" id="group1_0" value="0"> 
<input type="radio" name="group1" id="group1_1" value="1"> 

<label for="group1_0">CLicky 0</label> 
<label for="group1_1">CLicky 1</label> 
1

ID i nazwa wejścia nie muszą być takie same. Pozostaw nazwę i zmień identyfikator drugiego radia na coś innego (i zmień atrybut "dla" drugiej etykiety na ten identyfikator). Po przesłaniu formularza na serwer otrzymasz wartość za pomocą atrybutu "nazwa". Serwer nie wie nic o identyfikatorach.

+1

Nie przesyłając formularza za pośrednictwem Jquery i używam znacznika id, aby uzyskać wartości ... – air

+0

jQuery (lub JavaScript w ogóle) nie ma nic z tym zrobić. id nie jest tagiem, to atrybut. I nie, po przesłaniu do serwera uzyskujesz dostęp do wartości pól za pośrednictwem ich nazwy, a nie id. Ponieważ, jak powiedziałem, serwer nic nie wie o identyfikatorach. –

Powiązane problemy