Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2016, 10:56   #1
sashgera
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 21
По умолчанию Сравнение строки с массивом

Здравствуйте
Есть JS, при выполнении которого символы введенные в инпут сравниваются с массивом и результат выводится в ячейку таблицы.
Проблема в следующем - если в массиве сравнивается один символ, то все хорошо. Если в массиве более одного символа - то в результате выводится undefined.
Пожалуйста, помогите
Код HTML:
<input type="text" value="" id="eurocode">
<input type="button" value="Расшифровать" id="send">
<table border="1" cellspacing="0" cellpadding="0">
<tr>
    <td>Характеристики:</td>
    <td id="character_decode"></td>
</tr>
</table>
Код:
<script type='text/javascript'>
$('#send').click(function(){
    var eurocode = $('#eurocode').val();
    var decode5 = {};
    decode5['A'] = 'текст1'; // один символ 
    decode5['BD'] = 'текст2'; // больше одного символа
    decode5['CKL'] = 'текст3'; // больше одного символа
    
    var resultDC5 = ''; 
    for(i=0;i<eurocode.length;i++){ 
            resultDC5 += decode5[eurocode[i]]; 
            $('#character_decode').text(resultDC5);
    };
}); 
</script>
sashgera вне форума Ответить с цитированием
Старый 29.09.2016, 20:39   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Можно вот так, но я не уверен что ты именно этого хотел.

Код:
<!DOCTYPE html>
<html lang="en-US">
<head>
    <meta charset="utf-8"/>
    <title></title>
    
    <script type='text/javascript'>

        function compare() {

            document.getElementById('character_decode').innerHTML = "";

            var eurocode = document.getElementById('eurocode').value;
            
            var decode5 = {};
            decode5['A'] = 'текст1'; // один символ 
            decode5['X'] = 'текст2'; // больше одного символа
            decode5['ABC'] = 'текст3'; // больше одного символа
            
            var resultDC5 = ''; 
            var ADD = ''; 
            for(var i=0; i < eurocode.length; i++ ){ 

                if( decode5[ eurocode[i] ] != undefined ){
                    document.getElementById('character_decode').innerHTML += decode5[ eurocode[i] ]+" ,";

                }
                
                ADD += eurocode[i];  
                if( decode5[ ADD ] != undefined && eurocode[i] != ADD ){
                    document.getElementById('character_decode').innerHTML += decode5[ ADD ]+" ,";

                }
            }

        }

    </script>




</head>
<body>

    <input type="text" value="" id="eurocode">
    <input type="button" value="Расшифровать" id="send" onclick="compare()">
    <table border="1" cellspacing="0" cellpadding="0">
    <tr>
        <td>Характеристики:</td>
        <td id="character_decode"></td>
    </tr>
    </table>


</body>
</html>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 30.09.2016, 00:41   #3
sashgera
Пользователь
 
Регистрация: 14.01.2013
Сообщений: 21
По умолчанию

pompiduskus, большое спасибо!
sashgera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на СИ (Числа Фибоначчи сравнение с массивом) abstractionhawk Общие вопросы C/C++ 5 02.11.2012 14:46
добавление строки в Listbox массивом Composter Microsoft Office Excel 8 04.05.2011 14:42
Сравнение с массивом Fezdipekla Microsoft Office Excel 1 09.01.2011 22:18
сравнение рандомного числа с массивом Artempokrowski Помощь студентам 8 08.07.2010 14:08
Сравнение строки Lifefine Помощь студентам 3 07.03.2010 01:37