2012-04-29 11 views
8

Ho bisogno di questo display per aggiornare il suo valore utilizzando jquery.Cambia visualizzazione per testo/valore tramite jquery

Ho provato .val() e .text() ma nessuno dei due ha funzionato, esiste un modo speciale per fare ciò per i display, ho bisogno che sia e rimanga come un display.

Inoltre, non è possibile impostare lo stile per i display? Non ho mai potuto farlo funzionare, funziona per TextboxFor.

Grazie per eventuali suggerimenti.

Estimated Time: @Html.DisplayFor(model => model.EstimatedTime, new { @class = "TitleEstTimeClass", @style = "color: green" }) 

$(".TitleEstTimeClass").val(result[1]); 

risposta

18

DisplayFor genera un'etichetta tag HTML <label id="myId" class="myClass">Some Text</label>. (CORRETTO)

EDIT

ho sbagliato e ho pensato che si stava utilizzando il LabelFor aiutante. L'helper DisplayFor non emette markup HTML (come un'etichetta o tag span). Se si vuole far funzionare tutto questo con la DisplayFor aiutante, sarà necessario avvolgere il tag DisplayFor con un qualcosa di <span> o simili come di seguito:

<span class="TitleEstTimeClass" style="color: green"> 
    @Html.DisplayFor(model => model.EstimatedTime) 
</span> 

Detto questo, provare a utilizzare il JQuery proprietà .html() come qui di seguito - è davvero non è diverso da aggiornare il testo in arco div o:

$(".TitleEstTimeClass").html(result[1]); 

Inoltre, assicurarsi che la chiamata JQuery è nelle appropriate <script></script> tag e che la funzione che si sta chiamando sia effettivamente licenziato. Non sono sicuro che il codice sopra riportato sia direttamente dal tuo progetto o solo snippet, ma come scritto sopra, non succederà nulla.

+0

utilizzando solo il come posso chiamare il mio modello => model.EstimatedTime? e averlo in "Some Text" – TMan

+0

oh beh non ha funzionato mantenendo quello che avevo, tuttavia il .html ha funzionato quando ho appena creato un'etichetta normale e ho appena inserito un DisplayTextFor al suo interno. – TMan

+0

Ho appena aggiornato la mia risposta - per favore vedi l'EDIT per maggiori dettagli sul motivo per cui non funziona ancora per te e perché hai dovuto fare quello che hai fatto nel tuo ultimo commento. PS - Vorrei usare un tag span su un tag label per coerenza (questo non è associato a un campo modulo, quindi non è proprio un'etichetta) – Tommy