如何获得各自的独特价值

时间:2018-11-16 08:02:34

标签: jquery

我想通过复选框数据获取值。一切正常,但我不知道如何实现,以免重复相同的值。

$(document).on('click', '.export_phones', function(e) {
    var checkboxes = $('input[type="checkbox"]:checked:not(:disabled)');
    checkboxes.each(function() {
        var phone = $(this).data('phone');
        $('.phones').append("<br />" + phone);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="phones"></div>
<br/><br/>
<input type="checkbox" name="order_id[]" value="1481" data-phone="12345678"> ID: 1481 <br />
<input type="checkbox" name="order_id[]" value="1482" data-phone="12345678"> ID: 1482 <br />
<input type="checkbox" name="order_id[]" value="1483" data-phone="987654321"> ID: 1483 <br />
<input type="checkbox" name="order_id[]" value="1484" data-phone="654123"> ID: 1484 <br /><br />
<button class="btn btn-xs export_phones">Export phones</button>

2 个答案:

答案 0 :(得分:1)

这是一个可能的解决方案:https://jsfiddle.net/38f6sa7j/

说明:

    var phones = []; // make array for phone numbers
...
    if(phones.indexOf(phone) === -1) phones.push(phone); // check if phone number exists already
...
    $('.phones').html(phones.join('<br>')) // join phone numbers with br tag

答案 1 :(得分:0)

假设checkboxesarray,则可以在JavaScript中将数组转换为set

var arr = [44,55, 44, 65,65,55];

var set = new Set(arr);

console.log(set)