如何从动态数组类型字段中获取值

时间:2013-04-26 02:57:53

标签: php jquery field

我遇到有关动态生成字段的问题。这些字段具有不同的类型,其类型取决于我的数据库中存储的内容(文本,选择,广播等)。它们是在我的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获取每个字段的输入值。有可能吗?

2 个答案:

答案 0 :(得分:2)

$("[name=ans\\[\\]]").each(function() {
  alert( $(this).val() );
});

这应该有用。

JSFiddle

上面的工作示例。

答案 1 :(得分:1)

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

您可以根据他们在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数组项生成标签,并使用它来标识您的各个字段,该怎么办?