2016-08-31 2 views
-1

Ich habe dieses HTMLerhalten Elemente von Array-Name JS, JQuery

<input type="text" name="object[A][Name]"> 
<input type="text" name="object[A][Description]"> 
<input type="text" name="object[B][Name]"> 
<input type="text" name="object[B][Description]"> 

aber wenn ich versuche, mit zu bekommen:

var x = document.getElementsByName("object"); 
var x = document.getElementsByName("object[]"); 
var x = document.getElementsByName("object[][]"); 
var x = $("[name='object']"); 
var x = $("[name='object[]']"); 
var x = $("[name='object[][]']"); 

x leer ist

ich brauche A, Namens-/Beschreibung und Wert

Normalerweise verarbeite ich diese Namen in PHP wie folgt:

foreach($_POST['object'] as $objectgroup=>$value) 
{ 
    /* work here */ 
} 
+0

Warum exp ect ein anderes Ergebnis? Bitte erkläre. –

+0

Hier ist der Link zur API mit allen verfügbaren Selektoren https://api.jquery.com/category/selectors/. –

Antwort

0

Verwenden ^= die Start Zeichenfolge übereinstimmen:

var x = $("[name^='object']"); // Get all elements 
var x = $("[name^='object[A']"); // Get only "object[A]" elements 
var x = $("[name='object[A][Description]']"); // Matches full element name 

Demo

0

Sie wollen Eingänge wählen, dessen name Attribut beginnt mit "Objekt", so verwenden Sie den ^= Operator (docs) :

var x = $('input[name^=object]'); 
Verwandte Themen