2013-05-22 7 views
5

Ho un elenco di voci di tabella che quando viene premuto un pulsante di copia, tutti gli elementi della tabella si concatenano in una casella di testo, vengono selezionati e vengono inseriti negli Appunti di Windows.Come formattare il testo dei valori delle opzioni all'interno di un tag selezionato?

caselle sono formattati in questo modo:

<tr> 
    <td>Name of Person:</td> 
    <td><textarea name="name" rows="2" cols="30" id="name"></textarea></td> 
</tr> 
<tr> 
    <td>Type of Service:</td> 
    <td><select name="drop1" id="txt_drop1"> 
     <option value="">None</option> 
     <option value="Type of Service: Minimal">Minimal</option> 
     <option value="Type of Service: Normal">Normal</option> 
     <option value="Type of Service: Full">Full</option> 
     <option value="Type of Service: Premium">Premium</option> 
    </select></td> 
</tr> 
<tr> 
    <td>Dollar Amount:</td> 
    <td><textarea name="amount" rows="1" cols="30" id="txt_info2"></textarea></td> 
</tr> 
<tr> 
<td><textarea name="bigtextbox" rows="5" cols="30" id="txt_info2"></textarea></td> 
</tr> 

cosa ho bisogno è la formattazione, nel senso che quando si preme il pulsante di copia, le concatena testo risultante in maniera ordinata. Posso farlo accadere in questo modo:

Nome: John
Tipo di servizio: Full
Importo: $ 125

Ma ho anche bisogno di rompere non linea, se nessuna opzione è selezionata nel casella a discesa, in questo modo:

Nome: John
Importo: $ 125
01.238. Invece di:

Nome: John

Importo: $ 125

C'è un modo per applicare la formattazione codice come '\ n' al valore dell'opzione? In questo momento tutte le mie caselle di testo non box sono formattati nel codice concatenate dopo che il pulsante di copia viene cliccato, es:

<input type="button" style="font-weight:bold;" name="clipboard_copy" value="Copy" onClick="document.data_entry.bigtextbox.value = 'Name:&nbsp;' + document.data_entry.name.value + '\n' + document.data_entry.drop1.value + '\n' + 'Amount: $' + document.data_entry.amount.value> 
+0

Vuoi alcune cose strane ... Ma finché so da HTML e seleziono HTML Element, non puoi formattare opzioni come quella (forse ho sbagliato). Mi dispiace. Se vuoi farlo, dovrai creare il tuo elemento select con jQuery o qualcosa del genere. Penso che sia il modo migliore per personalizzare la tua selezione, perché lavorerai con 'divs' e potrai modificarli in modo più specifico. – DaGLiMiOuX

+0

Scusate per renderlo strano, l'ho appena modificato per mostrare più di quello che sto cercando. Non sono sicuro di capire cosa intendi creando il mio elemento select. La mia applicazione reale è una forma molto più grande che viene utilizzata per la mia azienda, nel qual caso ogni dipendente utilizzerà questo modulo per creare commenti per gli account dei clienti, e abbiamo bisogno che tutti siano strutturati allo stesso modo e sembrino professionali, il che significa che posso non rifare l'intero modulo o altro, ma se c'è un modo rapido per risolvere questo problema, sarei molto contento. –

+0

Il nostro sito è appena stato aggiornato a IE8 e non funziona più :( –

risposta

1

Probabilmente non ho capito voi. Ho pensato che volessi modificare il formato degli elementi option nell'elemento select. Se si vuole raggiungere quel formato dopo aver premuto il pulsante, si può provare questo:

<input type="button" style="font-weight:bold;" name="clipboard_copy" value="Copy" 
onClick="document.data_entry.bigtextbox.value = 'Name:&nbsp;' + 
document.data_entry.name.value + (document.data_entry.drop1.value.trim().length 
=== 0) ? '' : '\n' + document.data_entry.drop1.value + '\n' + 'Amount: $' + 
document.data_entry.amount.value"> 

Ho aggiunto questa linea al pulsante esempio:

(document.data_entry.drop1.value.trim().length === 0) ? '' : '\n' + 
document.data_entry.drop1.value 

Questo controlla (è possibile controllare qualsiasi condizione che vuoi Ho appena usato questo per verificare se hai selezionato "vuoto", ad esempio) se il tuo select ha un valore. Se non ha un valore, imposta '' nel testo "risposta". Se contiene qualcosa, aggiungerà '\n' + document.data_entry.drop1.value.

+0

Grazie! Funziona perfettamente per ciò di cui avevo bisogno. –

+0

@JustinTennant Sei il benvenuto! – DaGLiMiOuX

Problemi correlati