我这里有点脑筋急转弯:
基本上,我要做的是呈现一个漂亮的、可搜索的复选框列表作为 select2 控件的替代 UI。基本上,我的用户点击“添加多个”按钮,弹出一个模式对话框,然后他们选择他们的选项。我正在使用带有我找到的敲除绑定处理程序的 jquery 多选小部件。它似乎运作良好,但我希望该框默认打开,使其看起来更像一个经典的.net复选框列表......所以,我将 autoOpen: true 传递给多选,但它在右上角打开dom 而不是与多选文本对齐。如果您单击多选文本,然后再次单击它,即刻更改 columbo oreo - 它会在正确的位置打开!
我相信正在发生的事情是,在加载时,我的盒子已经用模态框渲染了它刚刚离开屏幕。因此,当我打开模式时,它会移动到屏幕但位置不好,即按钮附近没有。
我认为我应该做的是调用类似的东西:
$('.selector').multiselect({ show: 'fadeIn' });
或者一旦模态已经加载,位置就会正确。但是,我不知道如何通过淘汰赛做到这一点。任何帮助将不胜感激——我已经通过在这个小提琴中煞费苦心地重现问题来匹配努力;):
这是我的模态现在的样子以及指向我的小提琴的链接......
<div data-bind="modal: AddManyItem">
<div class="modal-header"> <a class="close" data-dismiss="modal">×</a>
<h3>Add Many</h3>
</div>
<div class="modal-body">
<select data-bind="multiSelectCheck: $data.Opts,
multiselectOptions:
{ autoOpen: true },
optionsCaption: 'Check one or more',
selectedOptions: $data.Vals,
optionsText: 'Text'" multiple="multiple"></select>
</div>
<div class="modal-footer"> <a href="#" class="btn btn-primary" >Save changes</a>
</div>
</div>
见 JSFiddle:http: //jsfiddle.net/valvemail/W7E5N/15/
还有一点需要注意——这是一个引导模式,如果这有所作为的话。