我有一个带有输入元素和其他内容的BootstrapDialog,当BootstrapDialog出现时,我需要将焦点设置在输入元素上。

这是我的代码:

var instanceDialogClientDonneur = null;
...
if (instanceDialogClientDonneur == null  ) {
instanceDialogClientDonneur = new BootstrapDialog.show({
        title : titre,
        cssClass : 'lieu-dialog',
        modal : true,

        closeOnEscape : true,
        onhidden : function() {
        instanceDialogClientDonneur =null;
            },
        message : enteteZoneRecherche + resTab +"</div>"
    });
} else {
...
}


enteteZoneRecherche是这样的:

<div class="row"><div class="input-group"><span class="input-group-addon">Rechercher</span><input type="text" id="code_recherche" value="" onkeyup="completerClient(event,this.id,'clientnom','Liste des clients','remplirZonesClientAdrEnvoi','',true);" class="form-control" placeholder="Tapez un code..."></div>


和resTab:

<div id="tableauResultat" class="row" style="height:350px;overflow-y: scroll"><table class="table table-bordered table-hover"><tr><th>Code</th><th>Nom</th><th>Ville</th></tr><tr id="idTr_1106" onclick="remplirZonesClientAdrEnvoi(this.id);"><td>000006</td><td>ARSENE</td><td>Brest</td></tr><tr id="idTr_1107" onclick="remplirZonesClientAdrEnvoi(this.id);"><td>100004</td><td>ANQUETIL</td><td>BRIVES</td></tr></table></div>


我需要将重点放在“ code_recherche”上。

我怎样才能做到这一点 ?

最佳答案

官方引导程序文档仅提供了一个示例
http://getbootstrap.com/javascript/#modals

文档中的示例

$('#myModal').on('shown.bs.modal', function () {
  $('#myInput').focus()
})


当使用BoostrapDialog类时,相同的东西看起来像

onshown: function(dialogRef){
   $('#myInput').focus();
}


因此您的最终代码将如下所示

if (instanceDialogClientDonneur == null  ) {
    instanceDialogClientDonneur = new BootstrapDialog.show({
        title : titre,
        cssClass : 'lieu-dialog',
        modal : true,

        closeOnEscape : true,
        onhidden : function() {
            instanceDialogClientDonneur =null;
        },
        onshown: function(){
            $('#code_recherche').focus();
        }
        message : enteteZoneRecherche + resTab +"</div>"
    });
}

09-11 18:44