2016-01-18 8 views
6

In questo modo visualizzo la descrizione comando bootstrap dalla mia funzione di convalida.Jquery: come nascondere o chiudere tutte le descrizioni di bootstrap aperte

var options = { html: true, placement: 'bottom', title: '<div class="tooltip-alert alert-danger" data-placement="bottom">' + message + '</div>' }; 
     $(inputElement).addClass('validation-error'); 
     inputElement.tooltip("destroy") 
      .addClass("error") 
      .tooltip(options); 
inputElement.tooltip("show"); 

così quando molte tooltip è aperto e se clicco su un altro tasto, quindi i suggerimenti sono ancora aperte che non è buono. quindi dimmi come nascondere o chiudere tutti i tooltips di bootstarp aperti quando l'utente fa clic su un altro pulsante?

risposta

18

Quando hai centinaia di suggerimenti aperti, credo che tu abbia dato la classe .tooltip per tutto. Quindi, è possibile utilizzare questa scorciatoia per chiudere tutte le descrizioni dei comandi:

$(".tooltip").tooltip("hide"); 

Snippet

$(function() { 
 
    $('[data-toggle="tooltip"], .tooltip').tooltip(); 
 
    $('[data-toggle="tooltip"], .tooltip').tooltip("show"); 
 
    $("button").click(function() { 
 
    $('[data-toggle="tooltip"], .tooltip').tooltip("hide"); 
 
    }); 
 
});
body {padding: 50px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
 
<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a> 
 
<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a> 
 
<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a> 
 
<br /><br /> 
 
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button> 
 

 
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</button> 
 

 
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</button> 
 

 
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</button> 
 

 
<br /> 
 
<br /><br /><br /> 
 
<button>Hide All</button>

+0

dispiace non ha funzionato. questo è il mio tooltip html '

First name is required
' – Thomas

+0

Immagino di aver bisogno di iterare la tabella ed estrarre ogni suggerimento da lì e poi nascondere ......... cosa dici? – Thomas

+0

@Thomas Che cosa ti impedisce di creare una demo o uno snippet? Rendilo facile per entrambi, na? Il mio codice di esempio ha funzionato o no? –

2

Utilizza il codice qui sotto per nascondere tutti i suggerimenti.

$('[data-toggle="tooltip"]').tooltip('hide'); 

-Help :)

+0

ho provato ma questo codice '$ ('[data-toggle =" tooltip "]'). Tooltip ('nascondi');' non ha funzionato – Thomas

+0

Bene, ciao. Com'è completamente diverso dal mio codice? Ho dato lo stesso giusto? –

+1

Ben più semplice da vedere rispetto al tuo;) – Help

1

ho fatto il lavoro in questo modo .... solo scorrere nella tabella.

function HideToolTips() { 
    $('#StudentGrid tbody > tr').each(function (i, row) { 
      $(this).find("input[id*='FirstName']").tooltip('hide'); 
      $(this).find("input[id*='LastName']").tooltip('hide'); 
      $(this).find("select[id*='cboState'] :selected").tooltip('hide'); 
      $(this).find("select[id*='cboCity'] :selected").tooltip('hide'); 
    }); 
} 
4

Basta usare $('.tooltip').remove();

Problemi correlati