我希望从用户创建的页面获取所有输入值,并希望将其存储在数组中以进行ajax调用以处理数据。我是这样做的:
$('#save').click(function(){
var data = $('*[data-array]').map(function(idx, elem) {
$.trim(elem);
return $(elem).val();
}).get();
问题是它在创建此数组之前不会修剪字符串。似乎$.trim
不适用?例如,如果我输入ABC____________
(_
为空格,则必须在此处写入以显示空白作为演示)我将得到结果:ABC_
(在ABC之后有一个空格) )
答案 0 :(得分:4)
你必须修剪价值
$('#save').click(function(){
var data = $('*[data-array]').map(function(idx, elem) {
$(elem).val($.trim($(elem).val()));
return $(elem).val();
}).get();
$('#save').click(function(){
var data = $('*[data-array]').map(function(idx, elem) {
$(elem).val($.trim($(elem).val()));
return $(elem).val();
}).get()
console.log(data);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input data-array/>
<input data-array/>
<input data-array/>
<input type="button" id="save" value="save"/>
&#13;
答案 1 :(得分:2)
$.trim()
返回修剪过的字符串,它不会修改提供的字符串
var el = $(elem);
var value = $.trim(el.val());
el.val(value );
return value;