如何删除 JS var 中的空格?

How to remove empty spaces in JS var?

如何在加入推送值后删除var con_str中的空space?

HTML

<input type="checkbox" id="chckBox1" onchange="fnTest(this);" /> <a class="ref"> Banana </a>
<input type="checkbox" id="chckBox2" onchange="fnTest(this);" /> <a class="ref"> Apple </a>
<input type="checkbox" id="chckBox3" onchange="fnTest(this);" /> <a class="ref"> Orange </a>

<input type="button" id="testABC" onclick="submit()" value="OK" />

JS

function fnTest(check) 
{
    $(check).is(':checked')
}

function submit() 
{
    var values = [];
    $("input[type=checkbox]:checked").each(function(){
        values.push($(this).next("").text());
    });

    var con_str = "https://www.url-abc.com/"+values.join();
    window.open(con_str.trim());
}

如果我 select 所有三个复选框,这就是我现在的输出。

https://www.url-abc.com/%20Banana%20,%20Apple%20,%20Orange

我想要的输出

https://www.url-abc.com/Banana,Apple,Orange

我尝试添加 con_str.trim()。但是没用。

这是fiddle、https://jsfiddle.net/izzatz/yx7bn59r/7/

您的 <a> 内容的末尾有空格。 Trim 他们。

$("input[type=checkbox]:checked").each(function(){
    values.push($(this).next("").text().trim());
});

更优雅的方法,使用.map代替.push

const values = [...$("input[type=checkbox]:checked")]
  .map(input => input.nextElementSibling.textContent.trim());

您可以使用 map()get()join() 来获取逗号分隔的字符串,如下所示:

var values = $("input[type=checkbox]:checked").map(function(){
    return $(this).next("").text().trim();
}).get().join(',');

演示:

function fnTest(check) 
{
    $(check).is(':checked')
}

function submit() 
{
    var values = $("input[type=checkbox]:checked").map(function(){
        return $(this).next("").text().trim();
    }).get().join(',');

    var con_str = "https://www.url-abc.com/"+values;
    console.log(con_str)
    //window.open(con_str.trim());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="chckBox1" onchange="fnTest(this);" /> <a class="ref"> Banana </a>
<input type="checkbox" id="chckBox2" onchange="fnTest(this);" /> <a class="ref"> Apple </a>
<input type="checkbox" id="chckBox3" onchange="fnTest(this);" /> <a class="ref"> Orange </a>

<input type="button" id="testABC" onclick="submit()" value="OK" />