如何在多次单击时显示按钮的逗号分隔值

Posted

技术标签:

【中文标题】如何在多次单击时显示按钮的逗号分隔值【英文标题】:How to show comma separated values of button on clicking it multiple times 【发布时间】:2021-10-25 04:20:25 【问题描述】:

单击按钮时,我试图在 div 中输出按钮的值。一次单击它时,值会正确输出,但我想要做的是输出值,就像以逗号分隔格式单击按钮一样多次。 比如——

<button class="click" value="car">Button</button>
<div class="demo"></div>

如果我点击这个按钮 3 次,那么输出应该是 car,car,car。 我正在尝试这样做,但它不起作用。

<script>
$(".click").click(function() 
$(this).addClass("selected");
var data=$(".click").map(function ()   
return this.value;
).get().join(",");
$(".demo").text(data);
);
</script>

【问题讨论】:

【参考方案1】:

(function($)
    jQuery.fn.isEmpty = function() 
       return !$.trim(this.html()).length;
    ;
(jQuery));

$(".click").click(function() 
  $(this).addClass("selected");
  const limit = 3, sep = ',', $demos = $(".demo");
  if($demos.html().split(sep).length < limit)
    $demos.append(($demos.isEmpty() ? '' : sep) + $(this).val());
  
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="click" value="car">Button</button>
<div class="demo"></div>

【讨论】:

成功了。如果我想在点击 3 次后停止输出值怎么办?有可能吗? 我调整了我的代码,应该是你想要的【参考方案2】:

您可以在用户每次单击按钮时将,car 附加到textContent。您还需要将这是否是第一次单击存储在布尔值中,如果是,则剪掉第一个字符。

var isFirst = true;
$(".click").click(function() 
  $(this).addClass("selected");
  $('.demo').text(($('.demo').text() + ',car').substring(isFirst ? 1 : 0))
  isFirst = false
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="click" value="car">Button</button>
<div class="demo"></div>

【讨论】:

【参考方案3】:

如果您每次都需要逗号分隔值,那么试试这个

        var result = '';
        $(".click").click(function () 
            $(this).addClass("selected");
            var data = $(".click").map(function () 
                return this.value;
            ).get();       

            if ($(".demo").text() == "") 
                result = data;
             else 
                result = result + ',' + data;
            
            $(".demo").text(result);
        );

【讨论】:

以上是关于如何在多次单击时显示按钮的逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章

如何在按钮单击时显示验证消息?

如何在按钮单击时显示日期选择器?

如何在按钮单击时显示 DatePickerDialog? [关闭]

如何在按钮单击时显示/隐藏内容? [关闭]

如何在 CRM 的子网格形式中单击按钮时显示查找窗口?

Cloudinary:如何在按钮单击时显示最高分辨率的图像?