【问题标题】:Select multidimensional arrays from form with jquery使用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

知道我做错了什么吗?

【问题讨论】:

  • 您正在尝试使用“输入”选择器选择“选择”标签。

标签: jquery html arrays forms jquery-selectors


【解决方案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]"]');

【讨论】:

    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2019-03-15
    相关资源
    最近更新 更多