jquery - 如何从逗号分隔的数据中删除空值

标签 jquery

我在从动态文本框中获取值时遇到一些问题。我的文本框如下所示:

enter image description here

这是我获取值的 HTML 代码:

$('#pilihtambahan input[type=text]').each(function(index) {
    if (valData2 == "") {
        valData2 = valData2 + $(this).val();    
    } else {
        valData2 = valData2 + "," + $(this).val();  
    }
});

如果我在文本框“jumlah sewa Showcase”中插入一个值“1”,并在“jumlah sewa炉子”文本框中插入文本“2”,结果将是这样的

1,<null>,2

我不知道删除 null 值。我的目标是结果会是这样的

1,2

也许有人可以帮我解决这个问题。谢谢。

最佳答案

在将值附加到字符串之前,您可以检查该值的 length 属性。

但是,更好的方法是使用 map() 构建值数组,然后使用 join() 将它们组合在一起。由于空字符串值是假值,因此您可以在 map() 中使用三元表达式来返回所需的值或完全跳过它。试试这个:

var values = $('#pilihtambahan input[type=text]').map(function(index) {
    return this.value ? this.value : null;
}).get().join(',');

Working example

关于jquery - 如何从逗号分隔的数据中删除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37292772/

相关文章:

javascript - Jquery 验证不适用于特殊字符

jquery - 如何根据输入类型 number*$(value) 求和

javascript - 级联下拉列表,将 <option> 值作为 ID 传递

javascript - "Required field"验证消息与国家选择字段重叠

javascript - 使用java脚本像gmail一样滚动邮件正文并使用固定页脚

jquery - 正则表达式不忽略字母大小写

javascript - 在网站的新页面上保持事件菜单打开

javascript - 在jqgrid中选择所有复选框的功能

javascript - 为什么我会收到未定义的 'children' 调用?

javascript - 如何使这个 jquery 动画延迟正常工作?