Это близко к идеальному примеру продумывания вещей и слишком сильной зависимости от CSS.Предполагается, что таблицы стилей отвечают за презентацию , а не функциональность .Селекторы CSS могут быть достаточно сложными, чтобы вы могли использовать их для проверочных проверок - хотя это не является хорошей идеей:)
Вам гораздо лучше полагаться на javascript для достижения этой цели и в конечном итоге вы получитеболее широкая матрица поддержки браузера.Немного измените разметку:
<label>Box 1:</label> <input class="form-checkbox" id="cb131" type="checkbox"/>
...<input class="form-checkbox" id="cb134" type="checkbox"/>
...<input class="form-checkbox" id="cb130" type="checkbox"/>
<div id="cb131-linked"><b>Box 1 is checked.</b></div>
<div id="cb134-linked">...</div>
<div id="cb130-linked">...</div>
... и вы можете добавить слушатель jQuery, чтобы при переключении состояния флажка вы могли отображать связанные элементы div следующим образом:
$checkboxes = $(".form-checkbox");
$checkboxes.change(function(){
console.log("changed");
$checkboxes.each(function(){
$this = $(this)
$("#"+$this.attr("id")+"-linked").toggle($this.is(":checked"));
});
});
Fiddle: http://jsfiddle.net/9t59j/11/
Кроме того, входы должны быть самозакрывающимися элементами.