在使用map之前修剪字符串?

时间:2015-06-01 07:55:07

标签: javascript jquery arrays trim

我希望从用户创建的页面获取所有输入值,并希望将其存储在数组中以进行ajax调用以处理数据。我是这样做的:

$('#save').click(function(){
    var data = $('*[data-array]').map(function(idx, elem) {
    $.trim(elem);
    return $(elem).val();
    }).get();

问题是它在创建此数组之前不会修剪字符串。似乎$.trim不适用?例如,如果我输入ABC_____________为空格,则必须在此处写入以显示空白作为演示)我将得到结果:ABC_(在ABC之后有一个空格) )

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:2)

$.trim()返回修剪过的字符串,它不会修改提供的字符串

var el = $(elem);
var value = $.trim(el.val());
el.val(value );
return value;