Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Зависимые radio buttons (https://javascript.ru/forum/jquery/60639-zavisimye-radio-buttons.html)

seahunter 12.01.2016 14:49

Зависимые radio buttons
 
Доброго времени суток, ув. сообщество. Возникла трудность.
Суть проблемы: Есть 2 блока radio button-ов. Нужно сделать их зависимыми, т.е. если выбрать в первом блоке 1-ю или 2-ю кнопку, то во втором блоке должна выбираться первая кнопка. А если выбрать 3-ю, то во втором должна выбираться 2-ая. Вот пример кода который сейчас есть, но он не корректно работает. Задача вроде бы не сложная, но не могу решить.
Использую библиотеку jQuery
<div class="conteiner-fluid">
    <div class="row">
        <div id="block1">
                <input type="radio" name="radio1" class="other">Lorem ipsum dolor sit amet.<br>
                <input type="radio" name="radio1" class="other">Lorem ipsum dolor sit amet.<br>
                <input type="radio" name="radio1" class="np">Lorem ipsum dolor sit amet.<br>
        </div>
        <br>
        <div class="row" id="block2">
            <input type="radio" name="radio2" class="cheque">Lorem ipsum dolor sit amet.<br>
            <input type="radio" name="radio2" class="cod">Lorem ipsum dolor sit amet.<br>
        </div>
        
    </div>
</div>

$(document).ready(function() {      
   $(".other").on('change', function(){
        if($(".other").prop('checked')) {
            //$(".cod").removeAttr('checked');
            $(".cheque").('checked', true);
        }
    });        

    $(".np").on('change', function(){
        if($(".np").prop('checked')) { 
            //$(".cheque").removeAttr('checked');            
            $(".cod").attr('checked', true);
            
        }
    });
});

seahunter 12.01.2016 16:57

Нашёл решение самостоятельно, если кому-то будет полезно - прилагаю код скрипта:
$(document).ready(function() {

   $(".other").on('change', function(){
        if($(".other:checked").val('checked')) {
            $(".cheque").prop('checked', true);
        }
    });

    $(".np").on('change', function(){
        if($(".np:checked").val('checked')) {           
            $(".cod").prop('checked', true);
            
        }
    });
});

рони 12.01.2016 17:17

seahunter,
чем не устроил вариант без if? http://javascript.ru/forum/site/6063...tml#post403407

seahunter 13.01.2016 10:42

Я наверное не внимательно прочитал в прошлый раз Ваше сообщение, мне показалось что вы просто продублировали моё. Большое спасибо за Ваш вариант, приму к сведению.


Часовой пояс GMT +3, время: 01:08.