2016-08-31 2 views
-1

У меня есть этот HTMLполучить элементы по имени массива 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]"> 

, но когда я пытаюсь получить с:

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[][]']"); 

х пуст

мне нужно получить A, имя/Описание и значение

Обычно я обрабатываю эти имена в PHP следующим образом:

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

Почему вы еx Другой результат? Пожалуйста, объясни. –

+0

Вот ссылка на API со всеми доступными селекторами https://api.jquery.com/category/selectors/. –

ответ

0

Используйте ^=, чтобы соответствовать, начиная строку:

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

Вы хотите выбрать входы которых name атрибут начинается с "объекта", так что используйте оператор ^= (docs) :

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