Javascript Jquery Multiselect-手动触发事件?
我使用的jquery multiselect控件来自: 我需要在特定事件上通过javascript手动检查其中一个选项 每当我尝试更改checked属性,或触发click,显式地调用click函数等,我都会选中复选框,但CSS从未更改,文本框也从未使用当前选定的元素刷新 例如: 如果我想用javascript代码选择带有“TRA”值的复选框,并确保其行为正常,我该如何实现这一点Javascript Jquery Multiselect-手动触发事件?,javascript,jquery,multi-select,Javascript,Jquery,Multi Select,我使用的jquery multiselect控件来自: 我需要在特定事件上通过javascript手动检查其中一个选项 每当我尝试更改checked属性,或触发click,显式地调用click函数等,我都会选中复选框,但CSS从未更改,文本框也从未使用当前选定的元素刷新 例如: 如果我想用javascript代码选择带有“TRA”值的复选框,并确保其行为正常,我该如何实现这一点 <input class="multiSelect" type="text" style="cursor: de
<input class="multiSelect" type="text" style="cursor: default;" value="" readonly="readonly"/>
<div class="multiSelectOptions" style="position: absolute; z-index: 99999; display: none;">
<label class="selectAll">
<input class="selectAll" type="checkbox"/>
(All)
</label>
<label>
<input type="checkbox" value="ADP" name="Attributes"/>
Adaptation
</label>
<label>
<input type="checkbox" value="TRA" name="Attributes"/>
Translation
</label>
</div>
(全部)
适应
翻译
您似乎需要在触发click事件之前设置checked属性,然后在触发click事件之后设置checked属性。我将进一步研究它,但同时,这里有一个解决方案
相关jQuery代码
$(function() {
$('#sample').multiSelect();
$('#check').click(function() {
$('input[type="checkbox"][value="TRA"]')
.attr('checked',true)
.trigger('click')
.attr('checked',true);
});
$('#uncheck').click(function() {
$('input[type="checkbox"][value="TRA"]')
.attr('checked',false)
.trigger('click')
.attr('checked',false);
});
});
相关HTML
<select id="sample" multiple="multiple">
<option value=""/>
<option value="ADP">Adaptation</option>
<option value="TRA">Translation</option>
</select>
<br/>
<input id="check" type="button" value="Check TRA" style="margin-left: 250px; width: 100px;" />
<br/>
<input id="uncheck" type="button" value="Uncheck TRA" style="margin-left: 250px; width: 100px;" />
适应
翻译
是的,这非常有效。尽管我仍然不明白为什么它需要一组双重的checked属性。谢谢你的回答!