У меня есть список пользователей, и у каждой из них есть роль.Как отключить <option> согласно <option selected>?
Пользователь, выбранный как «Líder», не может иметь более одной роли, только «Líder».
Если пользователь выбирает другой вариант (дочери), опция «Líder» должна быть отключена. Пользователи, не являющиеся «Líder», могут иметь более одной роли.
Вот моделирование задачи: jsfiddle
HTML:
<select class="selectpicker" id="funcao" multiple data-max-options="1">
<option value="lider">Líder</option>
<option value="conhecimento">Para Conhecimentor</option>
<option value="participante">Participante</option>
</select>
<br><br>
<select class="selectpicker" id="funcao" multiple data-max-options="1">
<option value="lider">Líder</option>
<option value="conhecimento">Para Conhecimentor</option>
<option value="participante">Participante</option>
</select>
<br><br>
<select class="selectpicker" id="funcao" multiple data-max-options="1">
<option value="lider">Líder</option>
<option value="conhecimento">Para Conhecimentor</option>
<option value="participante">Participante</option>
</select>
<br><br>
<select class="selectpicker" id="funcao" multiple data-max-options="1">
<option value="lider">Líder</option>
<option value="conhecimento">Para Conhecimentor</option>
<option value="participante">Participante</option>
</select>
JS:
$('select').change(function(){
var sel = $(this);
var data = sel.data('prev');
var val = sel.val();
var prev;
if(data){ prev = data.val; }
sel.data('prev', {val: val});
sel.nextAll().each(function(){
if(prev){
$(this).find("[value='" + prev+ "']").prop("disabled",false);
$('.selectpicker').selectpicker('refresh');
}
$(this).find("[value='" + val + "']").prop("disabled",true);
$('.selectpicker').selectpicker('refresh');
});
$('.selectpicker').selectpicker('refresh');
});
опубликуйте свои попытки –
https://jsfiddle.net/andrealbson/33q72pto/ –
Я почти получил то, что хотел, но пользователь, который был выбран как «Líder», имеет возможность отключить ... и во время отправки форма представляет ошибку. Ошибка возникает из-за того, что опция select (parent) также отключена и при отправке формы эта опция пуста ... https://jsfiddle.net/andrealbson/9e2ovnth/ –