我对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。你能救我吗?
答案 0 :(得分:1)
您必须从选择器中删除选择:
var values = $("[name='ctrl[]']").map(function(){return $(this).val();}).get();
以上代码将选择名称为ctrl[]
的所有输入类型。
$("select[name='ctrl\\[\\]']")
限制您仅选择名称为ctrl[]
的选择框值。
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;