Как проверить переключатель с помощью jQuery? - PullRequest
824 голосов
/ 14 апреля 2011

Я пытаюсь проверить переключатель с помощью jQuery. Вот мой код:

<form>
    <div id='type'>
        <input type='radio' id='radio_1' name='type' value='1' />
        <input type='radio' id='radio_2' name='type' value='2' />
        <input type='radio' id='radio_3' name='type' value='3' /> 
    </div>
</form>

И JavaScript:

jQuery("#radio_1").attr('checked', true);

Не работает:

jQuery("input[value='1']").attr('checked', true);

Не работает:

jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);

Не работает:

У вас есть другая идея? Чего мне не хватает?

Ответы [ 30 ]

5 голосов
/ 01 августа 2014

Если свойство name не работает, не забудьте, что id все еще существует.Этот ответ предназначен для людей, которые хотят настроить таргетинг на id здесь, как вы.

$('input[id=element_id][value=element_value]').prop("checked",true);

Поскольку свойство name не работает для меня.Убедитесь, что вы не окружаете id и name двойными / одинарными кавычками.

Приветствия!

4 голосов
/ 09 июля 2015

Мы должны сказать, что это кнопка radio. Пожалуйста, попробуйте следующий код.

$("input[type='radio'][name='userRadionButtonName']").prop('checked', true);
4 голосов
/ 15 августа 2017

На всякий случай, если кто-то пытается достичь этого при использовании jQuery UI, вам также необходимо обновить объект флажка UI, чтобы отразить обновленное значение:

$("#option2").prop("checked", true); // Check id option2
$("input[name='radio_options']").button("refresh"); // Refresh button set
3 голосов
/ 19 марта 2015

Получить значение:

$("[name='type'][checked]").attr("value");

Установить значение:

$(this).attr({"checked":true}).prop({"checked":true});

Нажать кнопку «Радио», добавить атрибут проверено:

$("[name='type']").click(function(){
  $("[name='type']").removeAttr("checked");
  $(this).attr({"checked":true}).prop({"checked":true});
});
3 голосов
/ 21 июня 2017

Попробуйте это с примером

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="radio" name="radio" value="first"/> 1 <br/>
<input type="radio" name="radio" value="second"/> 2 <br/>
</form>


<script>
$(document).ready(function () {
    $('#myForm').on('click', function () {
        var value = $("[name=radio]:checked").val();

        alert(value);
    })
});
</script>
3 голосов
/ 20 марта 2013

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

var isChecked = $("#radio_1")[0].checked;
2 голосов
/ 20 марта 2017

Я использую этот код:

Извините за английский.

var $j = jQuery.noConflict();

$j(function() {
    // add handler
    $j('#radio-1, #radio-2').click(function(){

        // find all checked and cancel checked
        $j('input:radio:checked').prop('checked', false);

        // this radio add cheked
        $j(this).prop('checked', true);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="section">
  <legend>Radio buttons</legend>
  <label>
    <input type="radio" id="radio-1" checked>
    Option one is this and that&mdash;be sure to include why it's great
  </label>
  <br>
  <label>
    <input type="radio" id="radio-2">
    Option two can be something else
  </label>
</fieldset>
2 голосов
/ 27 октября 2014

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

Пример здесь:

$(function () {
    $('#CostAnalysis input[type=radio]').click(function () {
        var value = $(this).val();

        if (value == "Supply & Lay") {
            $('#ul-suplay').empty();
            $('#ul-suplay').append('<fieldset data-role="controlgroup"> \

http://jsfiddle.net/m7hg2p94/4/

2 голосов
/ 22 октября 2014

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

$(document).ready(function(){
    $("input[name='type']:radio").change(function(){
        if($(this).val() == '1')
        {
          // do something
        }
        else if($(this).val() == '2')
        {
          // do something
        }
        else if($(this).val() == '3')
        {
          // do something
        }
    });
});
1 голос
/ 18 декабря 2015
function rbcitiSelction(e) {
     debugger
    $('#trpersonalemail').hide();
    $('#trcitiemail').show();
}

function rbpersSelction(e) {
    var personalEmail = $(e).val();
    $('#trpersonalemail').show();
    $('#trcitiemail').hide();
}

$(function() {  
    $("#citiEmail").prop("checked", true)
});
...