2013-10-30 11 views
11

Sto cercando di personalizzare le opzioni bootboxjs.prompt, ma sembra che non permette una delle opzioni oggetto come parametrocome personalizzare le opzioni del prompt Bootbox.js

questo è l'esempio da http://bootboxjs.com/index.html#api

bootbox.prompt("What is your name?", function(result) {     
    if (result === null) {            
    Example.show("Prompt dismissed");        
    } else { 
    Example.show("Hi <b>"+result+"</b>");       
    } 
}); 

questo è quello che sto cercando di passare:

var promptOptions = { 
    title: "Custom label", 
    buttons: { 
    confirm: { 
     label: "Save" 
    } 
    } 
}; 

bootbox.prompt(promptOptions, function(result) {     
    if (result === null) {            
    console.log("Prompt dismissed");        
    } else { 
    console.log("Hi "+result);       
    } 
}); 

Come posso personalizzare l'etichetta del titolo e pulsanti?

risposta

18

Sarà possibile effettuare una richiesta personalizzata utilizzando finestre di dialogo personalizzate. L'unica cosa che dovete sapere è che la stringa di messaggi che date al bootbox non deve essere un testo semplice. Può essere HTML, quindi puoi inserire il tuo prompt in una finestra di dialogo personalizzata di bootbox.

cosa si sta cercando di fare è questo (utilizzando 4.x Bootbox):

bootbox.dialog({ 
    message: "First name:<input type='text' id='first_name'>", 
    title: "Custom label", 
    buttons: { 
    main: { 
     label: "Save", 
     className: "btn-primary", 
     callback: function() { 
     console.log("Hi "+ $('#first_name').val()); 
     } 
    } 
    } 
}); 
+0

c'è qualche cosa che posso usare javascript nel messaggio? –

+0

http://stackoverflow.com/questions/35489040/how-to-select-images-from-a-dialog-and-embed-in-the-textarea questa è la mia domanda se puoi aiutarmi? –

+0

c'è modo 'ok' o il tasto 'save' rimane disabilitato se non viene immesso nulla – mumair

18

bootbox.prompt accetta un solo parametro, se si desidera passare un oggetto con le etichette personalizzate. Quindi, per farlo funzionare, devi mettere il callback nel tuo oggetto config:

var promptOptions = { 
    title: "Custom label", 
    buttons: { 
    confirm: { 
     label: "Save" 
    } 
    }, 
    callback: function(result) {     
     if (result === null) {            
     console.log("Prompt dismissed");        
     } else { 
     console.log("Hi "+result);       
     } 
    } 
}; 

bootbox.prompt(promptOptions); 
+1

Sono d'accordo con @mseo. Questo è il modo migliore per usare il prompt correttamente. controlla questo: https://github.com/makeusabrew/bootbox/issues/143 (per i futuri visitatori) – youssman

+1

Sfortunatamente sembra che tu debba usare '.dialog' se vuoi aggiungere l'opzione' message'. –

+0

@TedAvery no, 'prompt' supporta l'opzione' message'. Controlla gli ultimi documenti: http://bootboxjs.com/documentation.html#bb-dialog-options – congusbongus

Problemi correlati