2016-07-21 6 views
0

Ist dies in einem Liner-Code in JQUERY möglich?Ist dies in JQUERY möglich? val() und text()

<table> 
    <tr> 
    <!-- Ex. this is the td:nth-child(10) --> 
    <td> 
     <input type="hidden" value=""/> 
     <p> </p> 
    </td> 
    </tr> 
</table> 

// I'd like to ouput a same value in td 10th cell in one liner code.. 
$(this).children('td:nth-child(10)').text(data[0]).val(date[0]); 

Irgendwelche Hilfe Danke?

+1

'val()' nicht als 'td' Element hat' value' Eigenschaft nicht erforderlich. – Satpal

+0

ja es ist, aber beide haben unterschiedliche Bedeutung .val() ist für das HTML-Attribut "value" .text() ist für die innereHTML (ähnlich wie .html()) –

+1

Versuchen Sie dies..' $ (this) .children ('td: nth-child (10)'). text (Daten [0]). end(). find ('Eingabe [Typ = "Versteckt"]'). val (Datum [0]); ' –

Antwort

1

ALTE ANTWORT: Ja, Sie können. Aber es wird keinen Sinn ergeben, da tdval nicht verwendet.

Die Methode .val() wird hauptsächlich verwendet, um die Werte der Formularelemente wie Eingabe, Auswahl und Textbereich abzurufen. Wenn das erste Element in der Auflistung ein Select-Multiple (d. H. Ein Select-Element mit dem Multiple-Attribut ) ist, gibt es ein Array zurück, das den Wert für jede ausgewählte Option enthält, oder null, wenn keine Optionen ausgewählt sind. Wenn es in einer leeren Sammlung aufgerufen wird, gibt es undefined zurück.

Unten finden Sie ein Ausschnitt in dem text() zuerst verwendet wird, und dann val(). Aber val() betrifft nichts.

Aktualisieren: Mit dem neuen HTML können Sie die P und dann die input festlegen.

changeIt = function(){ 
 
    $('td:nth-child(2) p').text('foo').closest('td').find('input').val('bar'); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <input type="hidden" value="inital1"/> 
 
     <p>1</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital2"/> 
 
     <p>2</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital3"/> 
 
     <p>3</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital4"/> 
 
     <p>4</p> 
 
    </td> 
 
    </tr> 
 
</table> 
 

 
<button onclick="changeIt()">Click two change 2</button>

+0

Die Frage wurde geändert, während ich tippte ... Habe den versteckten Input nicht gesehen. Wird die Antwort ändern. – smoksnes

+0

hi danke, ist diese versteckte Eingabe nicht verschwunden, nachdem die Schaltfläche klickt? danke – user3751286

+0

Nein, die Eingabe verschwindet nicht nach dem Klick, da Sie 'text' auf dem' p' setzen, anstatt den gesamten 'td' zurückzusetzen. – smoksnes