Подтвердить что ты не робот

JQuery Если установлен переключатель

Возможный дубликат:
Проверка определенного переключателя отмечена

У меня есть эти 2 переключателя на данный момент, так что пользователь может решить, нужна ли им стоимость доставки, включенная в цену, или нет:

<input type="radio" id="postageyes" name="postage" value="Yes" /> Yes
<input type="radio" id="postageno" name="postage" value="No" /> No

Мне нужно использовать JQuery, чтобы проверить, установлен ли переключатель "да", и если это так, выполните функцию добавления. Может ли кто-нибудь сказать мне, как я буду делать это, пожалуйста?

Спасибо за любую помощь

изменить:

Я обновил свой код до этого, но он не работает. Я что-то делаю неправильно?

<script type='text/javascript'>
// <![CDATA[
jQuery(document).ready(function(){

$('input:radio[name="postage"]').change(function(){
    if($(this).val() == 'Yes'){
       alert("test");
    }
});

});

// ]]>
</script>
4b9b3361

Ответ 1

$('input:radio[name="postage"]').change(
    function(){
        if ($(this).is(':checked') && $(this).val() == 'Yes') {
            // append goes here
        }
    });

Или, выше - снова - используя немного менее избыточный jQuery:

$('input:radio[name="postage"]').change(
    function(){
        if (this.checked && this.value == 'Yes') {
            // note that, as per comments, the 'changed'
            // <input> will *always* be checked, as the change
            // event only fires on checking an <input>, not
            // on un-checking it.
            // append goes here
        }
    });

Пересмотренный (улучшенный-some) jQuery:

// defines a div element with the text "You're appendin'!"
// assigns that div to the variable 'appended'
var appended = $('<div />').text("You're appendin'!");

// assigns the 'id' of "appended" to the 'appended' element
appended.id = 'appended';

// 1. selects '<input type="radio" />' elements with the 'name' attribute of 'postage'
// 2. assigns the onChange/onchange event handler
$('input:radio[name="postage"]').change(
    function(){

        // checks that the clicked radio button is the one of value 'Yes'
        // the value of the element is the one that checked (as noted by @shef in comments)
        if ($(this).val() == 'Yes') {

            // appends the 'appended' element to the 'body' tag
            $(appended).appendTo('body');
        }
        else {

            // if it the 'No' button removes the 'appended' element.
            $(appended).remove();
        }
    });

var appended = $('<div />').text("You're appendin'!");
appended.id = 'appended';
$('input:radio[name="postage"]').change(function() {
  if ($(this).val() == 'Yes') {
    $(appended).appendTo('body');
  } else {
    $(appended).remove();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<input type="radio" id="postageyes" name="postage" value="Yes" />Yes
<input type="radio" id="postageno" name="postage" value="No" />No

Ответ 2

Попробуйте это

if($("input:radio[name=postage]").is(":checked")){
  //Code to append goes here
}

Ответ 3

Что-то вроде этого:

if($('#postageyes').is(':checked')) {
// do stuff
}

Ответ 4

$('input:radio[name="postage"]').change(function(){
    if($(this).val() === 'Yes'){
       // append stuff
    }
});

Это будет прослушивать событие изменения на переключателях. Когда пользователь нажимает Yes, событие срабатывает, и вы сможете добавить все, что хотите, к DOM.

Ответ 5

if($('#test2').is(':checked')) {
    $(this).append('stuff');
} 

Ответ 6

$("input").bind('click', function(e){
   if ($(this).val() == 'Yes') {
        $("body").append('whatever');
   }
});

Ответ 7

Попробуйте следующее:

if ( jQuery('#postageyes').is(':checked') ){ ... }

Ответ 8

jQuery('input[name="inputName"]:checked').val()