【问题标题】:Trouble formatting .join() separators格式化 .join() 分隔符时遇到问题
【发布时间】:2014-10-03 05:35:34
【问题描述】:

在 twitter 引导向导页面上工作并将选定的复选框值输出到下一个选项卡窗格。因为可以有多个选择(即:checked),所以我使用 map 函数和 join()。我正在尝试将每个输出包装在 <li> 中,但第一个项目没有被包装——只有第一个之后的每个项目。

例如。

复选框 1
<li>Checkbox 2</li>
<li>Checkbox 3</li>

这是我的代码:

$(document).ready(function() {
        $('#rootwizard').bootstrapWizard({
            onNext: function(tab, navigation, index) {
                if (index == 1) {
                    if (!$('.selection:checked').val()) {
                        alert('Please select a solution to try');
                        $('.selection').focus();
                        return false;
                    }
                }
                $('#showSelection').html($('.selection:checked').map(function() {
                    return $(this).val();
                }).get().join('<li>'));
            }
        });

不确定我是否应该使用其他方法?或者......如果有一种方法可以预先附加并强制分隔符“环绕”所有选择。任何见解/清晰度将不胜感激。

【问题讨论】:

  • 谢谢阿内尔!我现在对分隔符为什么会这样运行有了更好的理解;)非常感谢!
  • 不客气。我很乐意提供帮助:)

标签: javascript jquery twitter-bootstrap


【解决方案1】:

尝试这样做:

$('#showSelection').html('<li>' + $('.selection:checked').map(function() {
  return $(this).val();
}).get().join('</li><li>') + '</li>);

这是因为连接的分隔符只会添加在元素之间,而不是之前和之后,所以你的第一个元素不会有一个开始 li 标签,最后一个元素不会有一个结束 li 标签.

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多