2011-11-03 9 views
12

Mi dispiace se questo è troppo ovvio, ma non riesco a trovare una risposta adeguata da nessuna parte ...jQuery UI - chiamando Evidenziare/Errore

Esiste un modo per inserire un messaggio di luce/di errore come quelli in basso a destra di questa pagina: http://jqueryui.com/themeroller/ semplicemente chiamando una funzione ui jquery?

Ho ispezionato il codice sorgente ma non riesco a trovare la risposta ... Hanno hardcode l'html?

Grazie

----------------------------------------- SOLUZIONE ---------------------------------------

jQuery: (creare un nuovo whatever.js file e inserire il seguente codice ci

$(document).ready(function(){ 

if($("div.error")[0]){ 
    createError($("div.error")); 
} 

if($("div.notice")[0]){ 
    createHighlight($("div.notice")); 
} 
}); 

//functions start 
function createHighlight(obj){ 
    obj.addClass('ui-state-highlight ui-corner-all'); 
    obj.html('<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right:.3em;"></span>'+obj.html()+'</p>'); 
} 

function createError(obj){ 
    obj.addClass('ui-state-error ui-corner-all'); 
    obj.html('<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right:.3em;"></span>'+obj.html()+'</p>'); 
} 

HTML: basta creare de div che si desidera inserire i messaggi come:

<div class="error"><b>ERROR:</b> The message goes here</div> 

o per Annunci:

<div class="notice"><b>NOTICE:</b> The message goes here</div> 

si può allora lo stile delle classi usando CSS.

Spero che questo aiuti chiunque.

----------------------------------------- SOLUZIONE - -------------------------------------

+1

+1 Grazie per aver postato la soluzione qui; Sono sicuro che aiuterà gli altri! – dSquared

risposta

12

Non esiste alcuna funzione dell'interfaccia utente jQuery per inserire un errore nella pagina; tuttavia è possibile applicare la classe di errore utilizzando jQuery a elementi come questo:

$('#el').addClass('ui-state-error ui-corner-all'); // Rounded corners 
$('#el').addClass('ui-state-error'); // Squared Corners 

Spero che questo aiuti!

+0

Grazie. Questo aiuta ma non ottengo alcuna icona ... Comunque avrò una funzione completata e la posterò qui – jribeiro

+1

Ho accettato la tua risposta. Ho anche modificato la mia domanda per inserire il codice completo della mia soluzione per aiutare chiunque desideri una soluzione automatizzata con icone. Grazie ancora – jribeiro

2

Secondo la documentazione, dopo aver caricato l'interfaccia utente di Jquery CSS, è possibile utilizzare alcune classi:

http://jqueryui.com/docs/Theming/API

Per esempio, ecco la finestra di avviso è definito così:

<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"> 
    <p> 
    <span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> 
    <strong>Alert:</strong> 
    Sample ui-state-error style. 
    </p> 
</div> 
+1

Grazie. L'avevo visto ma non volevo che fosse messo in tutto il codice ...:/ – jribeiro