Я сделал все возможное, чтобы понять, как разметка будет из вашего описания, но в основном я построил несколько div, содержащих набор входов checkbox (игнорируйте плохую разметку).
<div>
<form>
<label>Yes</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
<label>No</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
<label>Maybe</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
</form>
</div>
<div>
<form>
<label>Yes</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
<label>No</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
<label>Maybe</label>
<input type="checkbox" value="1" name="alerts[rateAlert]" class="alert_check_box auto_check_box" tabindex="1000" autocomplete="off">
</form>
</div>
Отсюда я начал с помощью JQuery (очень простой в использовании, но до вас, чтобы выяснить, как настроить).
$('input').change(function(){
if($(this).attr('checked')) {
$(this).parent().find('input').attr('checked', false);
$(this).attr('checked', true);
}
});
Этот сценарий прослушивает событие изменения на все флажки, а затем выполняет проверку на основе родительского он содержится. Если этот флажок установлен, снимите флажок все остальные флажки, содержащиеся внутри этого родителя.
Вы можете сделать это более конкретным в своей инструкции if или создать инструкцию else if для других конкретных случаев использования.
if(check-box is checked and doesnt have class name ABC) {
//do normal stuff above
} else if(specific check-box with class name of ABC is checked) {
//do something else
}
+1. Лучшим подходом было бы изучение javascript. : D – fig
, очевидно, вам тоже нужно :) – danielea