【问题标题】:How to get values from a dynamic array type field如何从动态数组类型字段中获取值
【发布时间】:2013-04-26 02:57:53
【问题描述】:

我对动态生成的字段有疑问。这些字段有不同的类型,它们的类型取决于我的数据库中存储的内容(文本、选择、收音机等)。它们是在我的 PHP 脚本中生成的,并且具有相同的名称(ans[],它是一个数组)。

<input type='radio' name='ans[]' value='1'>
<input type='radio' name='ans[]' value='2'>
<input type='radio' name='ans[]' value='3'>

<select name='ans[]'>
    <option value='desktop'>Desktop</option>
    <option value='laptop'>Laptop</option>
    <option value='monitor'>Monitor</option>
    <option value='printer'>Printer</option>
</select>

<input type='text' name='ans[]' value=''>

我想使用 JQuery 获取每个字段的输入值。有可能吗?

【问题讨论】:

  • 为什么你们都用同一个名字?使用不同的

标签: php jquery field


【解决方案1】:
$("[name=ans\\[\\]]").each(function() {
  alert( $(this).val() );
});

这应该可行。

JSFiddle

上面的工作示例。

【讨论】:

  • 非常感谢,它对我有用。但我还有另一个问题,从上面的示例中,检索每个单选按钮的所有值。如果我只想选择其中之一呢?
  • 您可能需要使用多个选择器:$("[name=ans\\[\\]][type!=radio]").each(function() { /* do whatever you want with non radio inputs */ }$("[name=ans\\[\\]][type=radio]:checked").each(function() { /* do whatever you want with checked radio inputs */ } 新 JSFiddle:jsfiddle.net/VcZWy/2
  • 感谢您的帮助。我最终使用 .filter(':checked') 来知道选定的单选按钮,并使用 parent().find('input[name=dummyAnswer\[\]]') 因为我在单选按钮旁边有另一个文本框知道文本框的值
【解决方案2】:

您可以通过多种方式使用不依赖 ID 或类的 jQuery 获取字段值(尽管它们通常是最好的方法)。

您可以根据它们在 DOM 中的位置来选择字段:

CSS nth-child (http://www.w3schools.com/cssref/sel_nth-child.asp)

$('form#myform input:nth-child(2)')

jQuery .each (http://api.jquery.com/jQuery.each/)

$('form#myform input).each( function(){ /* functionality here */ });

这依赖于以固定顺序生成的字段。如果您为每个 PHP 数组项生成一个标签,并使用它来标识您的各个字段,该怎么办?

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 2021-01-08
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多