2014-01-31 13 views
5

Wir haben zwei divs: Wie wählen Sie alle Eingabefeld als ein Array mit name = "divText", die innerhalb "div2" sind.So wählen Sie alle Elemente mit demselben Namen in einem bestimmten div mit jQuery

// Body of div1

<div id="div1> 
<input type="text" name="divText" value="v1" /> 
<input type="text" name="divText" value="v2"/> 
<input type="text" name="divText" value="v3"/> 
</div> 

// Body of div2

<div id="div2> 
<input type="text" name="divText" value="q1" /> 
<input type="text" name="divText" value="q2"/> 
<input type="text" name="divText" value="q3"/> 
</div> 
+1

Wenn Ihr tatsächlicher HTML-Code genau dem entspricht, der hier angezeigt wird, können Sie einfach folgendes tun: '$ ('# div2'). Children()'. – leaf

+1

Ich nehme an, Sie wissen über den Nachkommen Selektor. Wenn nicht, sollten Sie die Dokumentation von jQuery lesen: http://api.jquery.com/category/selectors/. Siehe auch das Tutorial: http://learn.jquery.com/using-jquery-core/selecting-elements/ –

Antwort

10

Verwenden Attribute Equals Selector [name="value"] zusammen mit ID Selector (“#id”). Es gibt einen Fehler in Ihrem HTML-Code. Das Schlussangebot von div iddiv1 und div2 fehlt ebenfalls.

Live Demo

$('#div2 input[name="divText"]') 
+1

als eine Notiz. Dies wird die Anforderung im Titel erfüllen, wählt aber breiter aus, als der Beitrag vorschlägt. Der Post spricht von Eingabeelementen, wobei hier alle Elemente ausgewählt werden. Was könnte richtig sein. Außerdem werden alle untergeordneten Elemente von untergeordneten Elementen mit dem angegebenen Namen ausgewählt. Das könnte oder auch nicht korrekt sein –

+0

Danke @RuneFS für die Erinnerung, aktualisiert. – Adil

0

Eingabefeld als ein Feld zu erhalten, verwenden .get():

var inpfromdiv2=$('#div2').find('input[name="divText"]').get(); 
0

Verwenden der Attributselektor

$("#div2 > input[name='divText']") 

der j Abfrage Selektor ist kein Array, sondern kann für viele Zwecke als solche

0

Eine andere Art und Weise behandelt werden:

$("#div2 input[type=text]") 
0

Als @adil beantwortet es der richtige Weg ist, zu tun, was Sie gefragt, aber ich denke, Es ist eine bessere Übung, eine Klasse zu setzen und sie dann auszuwählen. Zum Beispiel:

<div class="some_class">...</div> 
<span class="some_class">...</span> 

$('.some_class') 

Dies ist, was Sie für keinen Tag-Typ eingeschränkt sind.

Verwandte Themen