Доброго времени суток.
Столкнулся недавно с интересной задачей, и все никак не могу решить ее.
Задание заключается в наделении прав доступа при создании сообщества. Есть три уровня доступа:
1- участник сообщества
2- подписчик
3- пользователь не состоящий в сообществе.
http://clip2net.com/s/2SEVi
Если активны чекбоксы первого уровня, то соответсвующие чекбоксы 2-го уровня могут нажиматься, если чекбоксы 1 уровня не активны, то нельзя выбрать чекбоксы 2-го. Также если активный чекбокс 2-го уровня, то можно выбрать соответсвующий чекбокс 3-го уровня и наоборот.
Так же доступы 1-го уровня имеют свои условия: если не активны чекбоксы в блоке "Посмотреть", то нажать на чекбокс в блоке "Добавить" нельзя. Если чекбокс активний в блоке "Посмотреть" то чекбокс в блоке "Добавить" можно сделать активным.
Проблема в том, что верстальщик сверстал чекбоксы так, что они срабатывают при нажатии на span
и я не могу чекбоксу дать свойство disabled, так как всеравно чекбокс срабатывает при клике на span:
<div class="society_unit_top">
<h4>Участник сообщества</h4>
<div class="society_member_block_1">
<div class="fieldwrapper_7">
<label>Открыть доступ к просмотру:</label>
<div class="thefield_8">
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[p]" checked="checked" value='1'/>
</span>Пост</div>
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[f]" checked="checked" value='1'/>
</span>Фотографии</div>
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[v]" checked="checked" value='1'/>
</span>Видеозаписи</div>
</div>
</div>
</div>
<div class="society_member_block_2">
<div class="fieldwrapper_7">
<label>Открыть доступ к добавлению:</label>
<div class="thefield_8">
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[ap]" checked="checked" value='1'/>
</span>Пост</div>
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[af]" checked="checked" value='1'/>
</span>Фотографии</div>
<div class="checkbox_1"><span class="niceCheck">
<input type="checkbox" name="member[av]" checked="checked" value='1'/>
</span>Видеозаписи</div>
</div>
</div>
</div>
jQuery(document).ready(function(){
jQuery(".niceCheck").mousedown(
/* при клике на чекбоксе меняем его вид и значение */
function() {
changeCheck(jQuery(this));
});
jQuery(".niceCheck").each(
/* при загрузке страницы нужно проверить какое значение имеет чекбокс и в соответствии с ним выставить вид */
function() {
changeCheckStart(jQuery(this));
});
});
function changeCheck(el)
/*
функция смены вида и значения чекбокса
el - span контейнер дял обычного чекбокса
input - чекбокс
*/
{
var el = el,
input = el.find("input").eq(0);
if(!input.attr("checked")) {
el.css("background-position","0 13px");
input.attr("checked", true);
input.attr("value", '1');
} else {
el.css("background-position","0 0");
input.attr("checked", false);
input.attr("value", '0');
}
return true;
}
Подскажите в каком направлении копать, какие у кого есть мысли?