使用jquery从表单中选择多维数组

Posted

技术标签:

【中文标题】使用jquery从表单中选择多维数组【英文标题】:Select multidimensional arrays from form with jquery 【发布时间】:2013-03-22 16:10:36 【问题描述】:

我尝试使用 JQuery 选择多维表单项。但是当我尝试提醒它的价值时,我只会得到一个undefined

这是我的表格:

    <select name='item[1][name]'>
       <option value='1'>Name 1</option>
       <option value='2'>Name 2</option>
       <option value='3'>Name 3</option>
       <option value='4'>Name 4</option>
    </select>

    <input type='text' name='item[1][id]' class='text' />

当我点击提交按钮时,我会尝试选择我所有的表单元素。

我成功选择了文本输入字段:

var item1i = $('input[name="item[1][id]"]');
var personi = $(item1i).val();

但是当我尝试像这样选择select 标签时:

var item1n = $('input[name="item[1][name]"]');
var personn = $(item1n).val();

当我提醒personi 时,会显示正确的值。但是当我提醒personn 我得到undefined

知道我做错了什么吗?

【问题讨论】:

您正在尝试使用“输入”选择器选择“选择”标签。 【参考方案1】:

使用$('select[name="item[1][name]"]');

或者,$(':input[name="item[1][name]"]');

input 只会选择带有input 标签的元素,因此您必须使用select 标签进行选择。

另外,jquery 提供了特殊的:input 选择器,它返回任何表单元素(输入文本、选择、复选框、文本区域等),因此您也可以使用它。

【讨论】:

别介意我尝试了两个小时来解决这个问题,甚至没有看到我将输入用于选择元素。【参考方案2】:
var item1n = $('input[name="item[1][name]"]');  

你在这里选错了。试试这个

var item1n = $('select[name="item[1][name]"]');

【讨论】:

以上是关于使用jquery从表单中选择多维数组的主要内容,如果未能解决你的问题,请参考以下文章

jQuery多维数组名称选择器

如何从 php mysql 查询中为 jQuery 自动完成准备多维数组?

如何使用 jquery 创建具有来自动态创建的表单字段的值的多维数组?

如何使用 Codeigniter 和 Jquery 验证多维数组

表单中的多维数组发布

如何使用复选框形式选择 PHP 多维数组项