我可以使用一些见解或有用的参考资料,查看在所选复选框上查找值的位置,如果有重复项,则只返回一个。
我正在使用bootstrap向导处理软件试用向导。第一个选项卡是"解决方案目录"用户可以通过数百种解决方案过滤。许多解决方案类型都是重复的,因为它们适用于多种行业类型。
用户进行选择后,会转到标签2并查看其选择。我能够映射:在下一步中检查并加入自定义分隔符中的值,但无法弄清楚如何仅显示重复值的一个实例。
例如,用户可能会选择两种类型的" Audits"用于定制解决方案。但是,配置团队只想知道他们想要一个"审计"模块。
<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>');
}
});
});
答案 0 :(得分:0)
您可以使用数组来存储您已经看过的值。类似的东西:
$(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>');
}
});
});