Функция disable для нескольких checkbox

allforweb

Новичок
На страницу в цикле выводится 10 форм с новостями. Каждая форма имеет свой уникальный ID и содержит в себе 4 checkbox.
- удалить
- опубликовать (это checkbox отмечен тегом checked)
- на главную
- инфо
Задача у меня следующая:
при нажатии на checkbox "УДАЛИТЬ" - остальные checkbox'ы деактивируются. Только нужно сделать это в пределах одной формы.
 

Bardak

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

js
PHP:
<script type="text/javascript">
$(document).ready(function(){
	$('.delete').click(function() {
		if($(this).attr('checked')) {
			var $form = $(this).parent().parent();
			$('input[type=checkbox]:not(:first)', $form).attr('checked', false);
		}
	});
});
</script>
html
PHP:
<form method="post" action="example.php" id="example" name="example">
	<p>
		<label>Удалить</label>
		<input type="checkbox" name="delete" class="delete" value="1" />
	</p>
	<p>
		<label>Опубликовать </label>
		<input type="checkbox" name="publish" value="1" checked="checked"/>
	</p>
	<p>
		<label>На главную </label>
		<input type="checkbox" name="on_main_page" value="1"/>
	</p>
	<p>
		<label>Инфо </label>
		<input type="checkbox" name="info" value="1"/>
	</p>
</form>
 

A1x

Новичок
Код:
<input type="checkbox" name="delete" class="delete" value="1" onclick="dis(this)" />

function dis(cb) {
    var f = cb.form;
    for (var i = 0; i < f.elements.length; i++)
        if ('checkbox' == f.elements[i].type && 'delete' != f.elements[i].name)
            f.elements[i].disabled = cb.checked;
}
 
Сверху