У меня есть набор флажков, которые можно легко отметить или снять, перетаскивая мышь над ярлыками с помощью плагина selectable ().Но если я специально поставлю флажок в поле ввода вместо его метки, ничего не произойдет.Я пробовал все виды комбинаций, используя фильтр, но, кажется, ничто не работает, кроме как с помощью «метки».Я хочу, чтобы поведение было одинаковым, независимо от того, пользователь перетаскивает поля ввода или надписи.Несколько часов на это сейчас, пожалуйста, помогите!Скрипка ниже.
<form>
<div class='myBoxes'>
<label>Check 1<input type="checkbox" id="chk1" /> </label>
<label>Check 2<input type="checkbox" id="chk2" /> </label>
<label>Check 3<input type="checkbox" id="chk3" /> </label>
<label>Check 4<input type="checkbox" id="chk4" /> </label>
</div>
</form>
$(".myBoxes").selectable({
filter: 'label',
stop: function() {
$(".ui-selected input", this).each(function() {
this.checked = !this.checked;
if ($(this).is(':checked')) {
console.log($(this));
$(this).parent().addClass("LabelHighlight")
} else {
$(this).parent().removeClass("LabelHighlight")
}
});
}
});
label {
display: block;
padding: 7px;
width: 120px;
margin-bottom: 14px;
border: 1px solid red;
}
label.ui-selecting {
background: lightgreen;
}
.LabelHighlight {
background: lightgreen;
}
http://jsfiddle.net/y7xk032m/