使用具有通用名称的多个元素获取值

时间:2017-12-15 14:59:21

标签: php jquery

我对map()有疑问。我尝试从我的表单中获取所有变量,但我不能有多种类型的元素(输入,选择,textaera)

<input type="text" name="ctrl[]" />
<select name="ctrl[]" />
<textarea  name="ctrl[]" />
var values = $("select[name='ctrl\\[\\]']").map(function(){
  return $(this).val();
}).get();

这适用于input但不适用于select和textaera。你能救我吗?

1 个答案:

答案 0 :(得分:1)

您必须从选择器中删除选择:

var values = $("[name='ctrl[]']").map(function(){return $(this).val();}).get();

以上代码将选择名称为ctrl[]的所有输入类型。

$("select[name='ctrl\\[\\]']")限制您仅选择名称为ctrl[]的选择框值。

&#13;
&#13;
var values = $("[name='ctrl[]']").map(function() {
  return $(this).val();
}).get();

console.log(values);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" name="ctrl[]" value="input_value" /><br>
<select name="ctrl[]">
  <option value="selectd_value">option 1</option>
</select><br>
<textarea name="ctrl[]">textarea_value</textarea>
&#13;
&#13;
&#13;