我正在使用来自http://abeautifulsite.net/notebook/62
的jquery multiselect控件我需要通过javascript在特定事件上手动检查其中一个选项。
每当我尝试更改checked属性或触发单击时,都会明确地调用click函数等,我会选中复选框,但CSS永远不会更改,文本框永远不会刷新当前选中的元素
实施例: 如果我想使用带有javascript代码的“TRA”值选中复选框并确保其行为正常,我该如何实现?
<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>
答案 0 :(得分:0)
似乎您需要在触发click事件之前设置checked属性,然后再设置checked属性。我将进一步研究,但与此同时,这是解决方案
<强> Working Example 强>
相关的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;" />