除去重复的val()in:checked .map函数
我可以使用一些见解或有用的参考资料来查找在选定复选框上检查值的位置,如果有重复项,则只返回一个。
我正在使用bootstrap向导来开发一个软件试用向导。 第一个标签是一个“解决方案目录”,用户可以通过数百种解决方案进行过滤。 许多解决方案类型都适用于多种行业类型,因此重复。
一旦用户做出选择,他们将转到标签2并查看他们的选择。 我可以映射:在下一步中检查并加入自定义分隔符中的值,但无法弄清楚如何仅显示重复值的一个实例。
例如,用户可以为自定义解决方案选择两种类型的“审计”。 然而,供应团队只想知道他们想要一个“审计”模块。
<input type="checkbox" class='selection' value="Audits" name="Audits - Manufacturing">
<input type="checkbox" class='selection' value="Audits" name="Audits - Electrical">
<input type="checkbox" class='selection' value="Audits" name="Audits - Retail">
<input type="checkbox" class='selection' value="Trading" name="Trading - Manufacturing">
<input type="checkbox" class='selection' value="Trading" name="Trading - Retail">
我目前的代码是输出多个相同的值的选择,并坚持如何处理这一点。
$(document).ready(function() {
$('#rootwizard').bootstrapWizard({
onNext: function(tab, navigation, index) {
if (index == 1) {
// Make sure we entered the solutions
if (!$('.selection:checked').val()) {
alert('Please select a solution to try');
$('.selection').focus();
return false;
}
}
// Show selections in next tab
$('#showSelection').html('<li>' + $('.selection:checked').map(function() {
return $(this).val();
}).get().join('</li><li>') + '</li>');
}
});
});
您可以使用数组来存储您已经看到的值。 就像是:
$(document).ready(function() {
$('#rootwizard').bootstrapWizard({
onNext: function(tab, navigation, index) {
if (index == 1) {
// Make sure we entered the solutions
if (!$('.selection:checked').val()) {
alert('Please select a solution to try');
$('.selection').focus();
return false;
}
}
var selections = [];
// Show selections in next tab
$('.selection:checked').each(function() {
var value = $(this).val()
if ($.inArray(value, selections) < 0){
selections.push(value);
}
})
$('#showSelection').html('<li>' + selections.join('</li><li>') + '</li>');
}
});
});
小提琴:http://jsfiddle.net/2a460tfc/10/
链接地址: http://www.djcxy.com/p/42209.html上一篇: Issue removing duplicate val() in :checked .map function