Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Сравнение строки с массивом (https://javascript.ru/forum/dom-window/65004-sravnenie-stroki-s-massivom.html)

rodiony4 19.09.2016 21:32

Сравнение строки с массивом
 
Здравствуйте
Есть JS, при выполнении которого символы введенные в инпут сравниваются с массивом и результат выводится в ячейку таблицы.
Проблема в следующем - если в массиве сравнивается один символ, то все хорошо. Если в массиве более одного символа - то сравнения нет.
Пожалуйста, помогите
<input id="eurocode" value="" type="text">
<input type="button" value="go" onclick="send()">
<br><br>
<table id="tab_decode" class="hid" border="1">
<tr>
 <td>Марка и модель а/м</td>
 <td id="marka_decode"></td>
</tr>
</table>

<script type='text/javascript'>
function send(){
var eurocode = $('#eurocode').val();
var decode1 = new Array();
    decode1['Q'] = 'Текст 1'; // один символ    
    decode1['WR'] = 'Текст 2';  // больше одного символа   
    decode1['YUJ'] = 'Текст 3'; // больше одного символа   

var result = '';
	for(i=0;i<eurocode.length;i++){ 
		if(decode1[eurocode[i]]){ 
			result += decode1[eurocode[i]]; 
			$('#marka_decode').text(result);
			} else {
			$('#marka_decode').text('не определено');
		}
	}
}
</script>

рони 19.09.2016 21:53

rodiony4,
может опишите, что хотите получить, алгоритм ... ваш код и описание не осилил ...

рони 19.09.2016 22:00

rodiony4,
возможно вы хотели так ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".btn").on("click", function() {
  var eurocode = $('#eurocode').val();
    var decode1 = {};
    decode1['Q'] = 'Текст 1'; // один символ
    decode1['WR'] = 'Текст 2';  // больше одного символа
    decode1['YUJ'] = 'Текст 3'; // больше одного символа


 $('#marka_decode').text(decode1[eurocode]||'не определено')
})
});
 </script>
</head>

<body>
<input id="eurocode" value="" type="text">
<input type="button" value="go" class="btn">
<br><br>
<table id="tab_decode" class="hid" border="1">
<tr>
 <td>Марка и модель а/м</td>
 <td id="marka_decode"></td>
</tr>
</table>



</body>
</html>

rodiony4 19.09.2016 22:44

Цитата:

Сообщение от рони
возможно вы хотели так ...

рони, именно так! Все таки вы меня поняли. С циклом for я перемудрил:) Большое спасибо!

warren buffet 20.09.2016 12:00

rodiony4, не с циклом, а с массивом. на жабе скрипучей так нельзя делать decode1['Q'] = 'Текст 1'; если decode1=[];


Часовой пояс GMT +3, время: 20:09.