0

我有一个“歌曲请求”表格,可以计算从每个流派中选择的每个复选框。该值被添加到固定在网站底部的“# SONGS PICKED”元素中。它完美无缺,直到我添加了 Ninja Forms 条件逻辑:http: //911dj.smallmind.co/song-requests/

当您从“从以下流派中选择您的歌曲:”选择字段中选择流派时,会出现相应的清单,并且从 HTML 中删除前一个(如果已选择)。

当您从当前/新复选框列表中选择一个复选框时,这会导致计数器从 1 开始。如果您切换回以前的流派,它会从该列表的计数位置恢复。

下面是我的jQuery:

jQuery(document).ready(function() {
    function updateCounter() {
        var len = $("input[type='checkbox']:checked").length;
        if (len > 0) {
            $(".counter").text('' + len + '');
        } else {
            $(".counter").text('0');
        }
    if (len == 1) {
            $(".multi").text('');
        } else {
            $(".multi").text('s');
        }
    }
    jQuery(document).on("change","input[type='checkbox']", function() {
        updateCounter();
    });
});

我真的不知道如何锁定价值。任何帮助将不胜感激,因为该站点已完成 99.99%,需要在我启动之前修复此问题。提前谢谢你!

4

1 回答 1

1

请尝试此代码可能对您有更好的帮助

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<input type="checkbox" name="song" value="song1">song1<br>
<input type="checkbox" name="song" value="song2">song2<br>
<input type="checkbox" name="song" value="song3">song1<br>
<input type="checkbox" name="song" value="song4">song2<br>
<p class="counter">0</p>
    <script type="text/javascript">
    jQuery(document).ready(function() {
    function updateCounter() {
        var len = $("input[type='checkbox']:checked").length;
        if (len > 0) {
            $(".counter").text('' + len + '');
        } else {
            $(".counter").text('0');
        }
    if (len == 1) {
            $(".multi").text('');
        } else {
            $(".multi").text('s');
        }
    }
    jQuery(document).on("change","input[type='checkbox']", function() {
        updateCounter();
    });
});    
</script>
于 2017-06-20T04:56:09.350 回答