我想将值与javascript或jquery中的逗号分隔值进行比较。为此,我做了以下代码,还剩下什么?:

 var str = $('#reg').val();
 // i got str = 1,2,3

我需要将其与值进行比较,所以我该怎么做:
if (str == 1) {
    $('.WBE').show();
} else {
    $('.WBE').hide();
}

if (str == 2) {
    $('.VOBE').show();
} else {
    $('.VOBE').hide();
}

if (str == 3) {
    $('.MBE').show();
} else {
    $('.MBE').hide();
}

最佳答案

如果您要检查字符串是否包含1,2或3,则可以这样做:

var str = $('#reg').val();

if(str.indexOf("1") != -1) {
    $('.WBE').show();
} else {
    $('.WBE').hide();
}
if(str.indexOf("2") != -1) {
    $('.VOBE').show();
} else {
    $('.VOBE').hide();
}
if(str.indexOf("3") != -1) {
    $('.MBE').show();
} else {
    $('.MBE').hide();
}

或使用三元运算符
$('.WBE')[~str.indexOf('1') ? 'show' : 'hide']();
$('.VOBE')[~str.indexOf('2') ? 'show' : 'hide']();
$('.MBE')[~str.indexOf('3') ? 'show' : 'hide']();

遍历数组和三元运算符
['WBE', 'VOBE', 'MBE'].forEach(function(class, index) {
    $(class)[~str.index(index+1) ? 'show' : 'hide']();
});

仅在您有0-9的情况下才有效。如果您有2个或多个数字,则可能应该转换为数组并检查数组是否包含该数字...

09-25 16:42