使用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从表单中选择多维数组的主要内容,如果未能解决你的问题,请参考以下文章
如何从 php mysql 查询中为 jQuery 自动完成准备多维数组?
如何使用 jquery 创建具有来自动态创建的表单字段的值的多维数组?