【发布时间】:2019-04-05 20:14:52
【问题描述】:
我将 Bootstrap Multiselect 控件用于页面上的多个选项,并且为了统一,将它用于接受多项选择的项目和仅接受单个项目的项目(单选按钮)。用户完成一个条目并保存后,页面的这一部分被暂时隐藏并显示不同的部分(尽管我认为这不相关。)单击按钮后,该部分再次显示,并且应该是多选控件更新以显示新数据。 (这发生在 AJAX 代码中。)
问题在于,虽然单选按钮的正确选项会在控件关闭时显示,但当您将其打开时,该项目和列表中的第一个项目都会被选中。事实上,经过几轮这样的操作,可能会选择两个以上的按钮。
我尝试了几种代码变体来正确重置。下面是生成这些单选按钮样式控件之一的 HTML/PHP 代码:
<div class="form-group">
<label class="control-form-label col-md-offset-1 col-md-1" for="urgency">When</label>
<div class="col-md-9">
<select id="urgency" required>
<?php
$urgency = getdata("GetActionUrgencies", "", "Couldn't retrieve list of urgency.<br/>");
while ($obj = mysqli_fetch_object( $urgency)) {
echo "<option value='".$obj->UrgencyDesc."' id='".$obj->iID."'>".$obj->UrgencyDesc."</option>";
}
?>
</select>
</div>
</div>
这是我在 AJAX 成功方法中使用的 javascript 来更新它:
$('#urgency').multiselect('deselectAll',false);
$('#urgency').multiselect('select', obj.UrgencyDesc);
我也试过在这段代码之后调用 multiselect('refresh') ,但它并没有改变任何东西。
有什么想法吗?
【问题讨论】:
标签: jquery ajax bootstrap-multiselect