我想通过复选框数据获取值。一切正常,但我不知道如何实现,以免重复相同的值。
$(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>
答案 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)
假设checkboxes
为array
,则可以在JavaScript中将数组转换为set
。
var arr = [44,55, 44, 65,65,55];
var set = new Set(arr);
console.log(set)