Выберите значение массива формы с помощью JQuery - PullRequest
0 голосов
/ 15 января 2010

У меня есть форма, которая генерируется на лету в PHP с использованием следующего ($theFeatures - это многомерный массив):

<?php 
foreach($theFeatures as $theKey => $theValues) {
?>
    <input type="text" value="<?php echo $theValues['Key']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Key']" size="6" />
    <input type="text" value="<?php echo $theValues['Value']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Value']" /> <br />
<?php
}
?>

Это должно создать два поля ввода, которые выглядят так:

<input value="Type" name="theFeatures[4]['Key']" size="6" type="text" />
<input value="Bird Table" name="theFeatures[4]['Value']" type="text" />

Как я могу получить первую часть массива ([4] в приведенном выше примере) в jQuery, чтобы я мог сохранить ее как переменную JavaScript и использовать ее где-нибудь еще в моем jQuery ??

Приветствия

Andy

Ответы [ 2 ]

3 голосов
/ 15 января 2010

Вы можете попробовать просто сохранить значение в отдельном атрибуте на входе и затем извлечь этот атрибут с помощью jQuery.

Добавление нового атрибута ко входу

<input type="text" value="<?php echo $theValues['Key']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Key']" size="6" key="<?php echo $theKey; ?>"/>

Получение атрибута с помощью jQuery

var key = $("input").attr("key");
1 голос
/ 15 января 2010

Конечно, предложение ТБ могло бы сработать. Вы также можете сделать следующее, чтобы получить все поля ввода, в имени которых есть «Ключ», и получить значение в первом наборе квадратных скобок. Это получит любой входной объект с именем, содержащим Key.

$("input[name*=Key]").each(function() {
    var name = $(this).attr("name");
    var key = name.substring(name.indexOf("[") + 1, name.indexOf("]");
    //do whatever is needed with key
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...