当bootstrap模式打开时选择文本输入

时间:2014-05-28 04:33:26

标签: javascript jquery html css twitter-bootstrap

我在bootstrap模式中有一个输入。打开模态时,我希望自动选择引导模态中的输入。

我有以下代码:

$('#modal').on('show.bs.modal', function (e) {
   $(this).$("input").select();
})

和我的模态看起来像:

<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
       <div class="modal-body">
         <input type='text' disabled value="test">
       </div>
    </div>
  </div>
</div>

不幸的是,使用此代码,我收到错误“Uncaught TypeError:undefined is not a function”

3 个答案:

答案 0 :(得分:4)

使用.find()然后.focus()

$('#modal').on('show.bs.modal', function (e) {
   var input = $(this).find("input");  // cache the variable
   input.removeAttr('disabled'); // enable it first, so it can get focus
   input.focus(); // focus it
})

然后使用.focus()来关注元素。 jQuery核心中没有任何名为.select()的东西。

答案 1 :(得分:2)

对我有用的是什么:

$('#modal').on('shown.bs.modal', function (e) {
    $('#modal input[type="text"]')[0].select();
});

请注意.on('shown.bs.modal')的使用,而不是.on('show.bs.modal')

答案 2 :(得分:1)

$('#modal').on('show.bs.modal', function (e) {
   var input= $(this).find("input");
   if(input){
       input.removeAttr('disabled');
       input.focus();
   }
})