选择使用bootstrap 3无法正常工作

mam*_*dan 31 jquery twitter-bootstrap jquery-chosen

我有这个代码,它触发一个bootstrap模式并通过它加载其内容$.load().我正在加载的页面有一个我正在调用的选择元素.这是代码:

$('.someClick').click(function(e){
   e.preventDefault();
   x.modal('show');
   x.find('.modal-body').load('path/page.html',
function(response, status, xhr){

       if(status =="success")
        $("select[name=elementName]").chosen();

    });
});
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下图所示:

模态视图

这是我的Html内容:

 <select name="elementName" data-placeholder="Please work.." class="chosen-select">
        <option value="test">Hi</option>
        <option value="test2">bye</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

Koe*_*en. 45

显示模态后应用选择应解决您的问题:

$('#myModal').on('shown.bs.modal', function () {
  $('.chosen-select', this).chosen();
});
Run Code Online (Sandbox Code Playgroud)

或者当Chosen已经应用时,销毁并重新应用:

$('#myModal').on('shown.bs.modal', function () {
  $('.chosen-select', this).chosen('destroy').chosen();
});
Run Code Online (Sandbox Code Playgroud)

在这里小提琴:http://jsfiddle.net/koenpunt/W6dZV/

所以在你的情况下它可能会像:

$('.someClick').click(function(e){
   e.preventDefault();
   x.modal('show');
   x.on('shown.bs.modal', function(){
       x.find('.modal-body').load('path/page.html', function(response, status, xhr){
           if(status == "success"){
               $("select[name=elementName]").chosen();
           }
       });
   });
});
Run Code Online (Sandbox Code Playgroud)

编辑

要补充Chosen,您可以使用Chosen Bootstrap主题


lex*_*eek 20

试试这个,我在选择中挖掘并发现只需要传递带有"width"属性的选项,就像在这个或任何其他宽度值:

$("select").chosen({width: "inherit"}) 
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说很完美,谢谢,但是我使用了 $(".chosen").chosen({width: "inherit"}); (2认同)

cg.*_*ike 10

允许选择在Bootstrap模式中使用中所述,问题出在chosen.jquery.js文件中.我在第435行找到了它,并在else语句中添加了以下代码.检查出来,它对我有用.

// Fixing problem when the select is not displayed.
   if ( this.form_field.offsetWidth == 0 ) {
      return "" + $(this.form_field).width() + "px";
    }
Run Code Online (Sandbox Code Playgroud)

  • 修改源代码不是真正的解决方案,因为这会在升级时产生问题. (4认同)