我在 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。你能帮我吗?
最佳答案
您必须从选择器中删除选择:
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);
<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>
关于php - 使用具有通用名称的多个元素获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47834874/