Радио кнопки включают Jquery - PullRequest
       0

Радио кнопки включают Jquery

0 голосов
/ 20 декабря 2011

РЕДАКТИРОВАТЬ ** Bouchaala Sabri Ответ работал отлично

У меня проблема с некоторыми jquery, которые я пытаюсь включить в мою страницу. По некоторым причинам это не работает. не уверен, что скрипт неверный или правильно ли загружается jquery.

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

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
  $yearstages = $('input[name="keystage1yr2"],input[name="keystage1yr1"]');
    $savestages = $('input[name="keystage1save"]');
    $('#radios').on('change', 'input', function() {
        if (this.name == "keystage1save") {
            $yearstages.filter('input:checked').prop('checked', false);
        } else {
            $savestages.filter('input:checked').prop('checked', false);
        }
    });
</script>
</head>

<body>



<div id="radios">
<p>
<input class="radio" type="radio" name="keystage1yr1" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr1" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr1" value="Paper & CD" /> <span>&#163;40 excl VAT</span>
</p>
<p>
<input class="radio" type="radio" name="keystage1yr2" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr2" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr2" value="Paper & CD" /> <span>&#163;40 excl VAT</span>
</p>
<p>
<input class="radio" type="radio" name="keystage1save" value="Paper" /> <span>&#163;47.50</span>
<input class="radio" type="radio" name="keystage1save" value="CD" /> <span>&#163;47.50 excl VAT</span>
<input class="radio" type="radio" name="keystage1save" value="Paper & CD" /> <span>&#163;75 excl VAT</span>
</p>
</div>

Ответы [ 3 ]

1 голос
/ 20 декабря 2011

Вы никогда не должны забывать обернуть свой код в

jQuery(document).ready(function($){

})
1 голос
/ 20 декабря 2011

Ваш скрипт выполняется до загрузки DOM. Обязательно оберните ваш код так:

$(function(){
  $yearstages = $('input[name="keystage1yr2"],input[name="keystage1yr1"]');
    $savestages = $('input[name="keystage1save"]');
    $('#radios').on('change', 'input', function() {
        if (this.name == "keystage1save") {
            $yearstages.filter('input:checked').prop('checked', false);
        } else {
            $savestages.filter('input:checked').prop('checked', false);
        }
    });
});

Это выполнит ваш код после загрузки DOM.

1 голос
/ 20 декабря 2011

Вы должны поместить следующее

$('#radios').on('change', 'input', function() {
    if (this.name == "keystage1save") {
        $yearstages.filter('input:checked').prop('checked', false);
    } else {
        $savestages.filter('input:checked').prop('checked', false);
    }
});

в $(function() {...}).Разместите свой код вместо точек.Этот код выполняется после загрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...