Если строка, введенная во входные данные, соответствует, это показывает элемент HTML с javascript - PullRequest
0 голосов
/ 15 февраля 2019

В настоящее время у меня есть следующий код.Когда строка, введенная в поле ввода «#gotthekey», совпадает со значением в коде, она обнаруживает элемент div с именем «codebox».

Мой вопрос заключается в том, как заставить это работать для нескольких строк, например "1234 ", 4231", "2341" ... и т.д?Нужно ли использовать какой-нибудь массив?

Ваша помощь будет очень полезна, мой опыт работы с js на данный момент ограничен.

<code>
    $j(document).ready(function() {
        $j("#gotthekey").keyup(function() {
            if (this.value == "1234567890") {
                $j(".codebox").css({'display' : 'block','float' : 'left','margin-left' : '16%'
                });
                $j(".gotthekey").css("display", "none");
                }
            else {
                $j(".codebox").css("display", "none");
                $j(".gotthekey").css("display", "block");
            }
        });
    });
</code>

Ответы [ 4 ]

0 голосов
/ 15 февраля 2019

Хорошим подходом в вашем коде будет замена

 if (this.value == "1234567890")

чем-то

 if (checkValue(this.value))

, и ваше контрольное значение может использовать set для повышения производительности

checkValue(val) {
    const stringSet = new Set([1234, 4321, 2134]);
    return stringSet.has(val)
}

больше на съемочной площадке: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

0 голосов
/ 15 февраля 2019

Поместите строки, которые вы хотите проверить, в массив.

Использование: arrayOfStringsToCheck.includes('string') возвращает true или false

0 голосов
/ 15 февраля 2019

Вы можете поместить строки в массив и использовать , включая :

if (['1234', '4231', '2341'].includes(this.value))
0 голосов
/ 15 февраля 2019

вы можете поместить все строки в массив "arr" и использовать arr.indexOf (val), чтобы увидеть, соответствует ли значение какой-либо из строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...