2009-08-12 2 views
1

У меня есть простая кнопка с двумя переключателями, и мне нужно получить их значения, если они отмечены.Как получить выбранные значения переключателей

 <form class="descriptions" id="collection" method="post" action=""> 
          <table width="200"> 
           <tr> 
           <td> 
            <label>Collection</label> 
            <input type="radio" value="collection" name="collection" /> 
           </td> 
           <td> 
            <label>Delivery</label> 
            <input type="radio" value="delivery" name="collection" /> 
           </td> 
          </tr> 
         </table> 

       </form> 

    var delivery = ""; 
    delivery = $('input:radio:checked').val(); 
if(delivery == 'delivery') { 
    meal_deal7 = 11.49; 
}else { 
    meal_deal7 = 9.99 
} 

значение meal_deal7 всегда 9,99, я делаю STH неправильно.

благодаря

+1

попробовать отладки переменной доставки. Либо 'console.log (доставка)', либо 'alert (delivery)'. Таким образом, вы увидите, что происходит с доставкой. Если он все время пуст, то вы делаете что-то не так с вашим селектором (должно быть, все равно) ... – peirix

+0

Ваш код работает отлично. Попробуйте отладить код. – rahul

+0

Это работает для меня. Проблема должна быть где-то в другом месте. –

ответ

6

вам нужно иметь свой код в обработчик событий прилагается к каждому из переключателей так, что значение delivery переменной обновляется каждый раз, когда радио кнопка нажата/проверено

Working Demo - добавить /редактировать, чтобы увидеть код и играть на примере.

Код

$("input:radio[name='collection']").click(function() { 
    var delivery = $("input:radio[name='collection']:checked").val(); 

    if(delivery == 'delivery') { 
     meal_deal7 = 11.49; 
    } 
    else { 
     meal_deal7 = 9.99 
    } 
}); 

Я был бы соблазн использовать класс CSS, чтобы определить радиокнопки слишком

+0

Спасибо, отлично работает. – amir

1

Посмотрите на следующий пример вежливости это link
и внести необходимые изменения в форму;

<form name="orderform"> 
Which one is your favorite?<br> 
<input type="radio" name="music" value="Rock" 
checked="checked"> Rock<br> 
<input type="radio" name="music" value="Reggae"> Reggae<br> 
<input type="radio" name="music" value="Pop"> Pop<br> 
<input type="radio" name="music" value="Rap"> Rap<br> 
<input type="radio" name="music" value="Metal"> Metal<br> 
<input type="submit" onclick="get_radio_value()"> 
</form> 
+0

Спасибо, но это javascript, я хотел сделать это с помощью jquery. – amir

0

Использование Javascript, чтобы получить значение

var elemArray=document.getElementsByName('collection'); 
var value=""; 
if(elemArray.length>0){ 
for(var i=0;i<elemArray.length;i++){ 
if(elemArray.checked==true){ 
value=elemArray.value; 
} 
} 
}else{ 
if(elemArray.checked==true){ 
value=elemArray.value; 
} 
}