Показать сообщение отдельно
  #6 (permalink)  
Старый 20.08.2021, 11:22
Интересующийся
Отправить личное сообщение для Lexx32 Посмотреть профиль Найти все сообщения от Lexx32
 
Регистрация: 11.09.2013
Сообщений: 17

Сообщение от Lexx32 Посмотреть сообщение
Вот код с полем ввода, в которое вводим выражение типа "слово 10"
и мне выходят те позиции в отоых это встречается
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
</style>
</head>
 <body>
   <script type="text/javascript">
var Keyword=[];
Keyword [0] = "20.08.2021 9:33:19"
Keyword [1] = "Слово 10 | asdsd0 | ddd1ddddddddd | ff1fffffffffff";
Keyword [2] = "Слово 11 | asds1d | ddd2ddddddddd | fff2ffffffffff";
Keyword [3] = "Слово 12 | asds2d | ddd3ddddddddd | ffff3fffffffff";
Keyword [4] = "Слово 10 | asds3d | dddd4dddddddd | fffff4ffffffff";
Keyword [5] = "Слово 14 | asds4d | ddddd5ddddddd | ffffff5fffffff";
Keyword [6] = "Слово 15 | asds5d | dddddd6dddddd | fffffff6ffffff";
Keyword [7] = "Слово 10 | asds6d | ddddddd7ddddd | ffffffff7fffff";
Keyword [8] = "Слово 17 | asds7d | dddddddd8dddd | fffffffff8ffff";
Keyword [9] = "Слово 18 | asds8d | ddddddddd9ddd | ffffffffff9fff";
 
 function test() {
 var val = document.getElementById('str').value;
 var arr = val.split(' ');
 var nStroka ='';
 dlm = '<table border=1 width=90%><th>Наименование</th><th>МНН</th><th>Кол</th><th>Отделение</th>';
 for(var i = 0; i < Keyword.length; i++) {
	arr.forEach(function(elem) {
	if (Keyword[i].indexOf(elem) !== -1){
		var col = Keyword[i].split('|');
		nStroka = '<tr><td>'+col[0]+'</td>';
		nStroka = nStroka + '<td>'+col[1]+'</td><td>'+col[2]+'</td><td>'+col[3]+'</td></tr>';
		dlm = dlm + nStroka;	
	};
	)};
	)};
  dlm = dlm + '</table>';
  document.getElementById('info1').innerHTML=dlm;
  document.getElementById('info0').innerHTML='   ' + Keyword [0];
 };

 
 function test2() {
 var val = document.getElementById('str2').value;
 var dlm = '';
 var re = new RegExp('\^'+val,'i');
 dlm = '<table border=1 width=90%><th>Наименование</th><th>МНН</th><th>Кол</th><th>Отделение</th>';
 for(var i = 0; i < Keyword.length; i++) {
 var col = Keyword[i].split('|');
 if (re.test(col[1])) {
 var nStroka ='';
 nStroka = '<tr><td>'+col[0]+'</td>';
 nStroka = nStroka + '<td>'+col[1]+'</td><td>'+col[2]+'</td><td>'+col[3]+'</td></tr>';
 dlm = dlm + nStroka;
 };
 };
 dlm = dlm + '</table>';
 document.getElementById('info1').innerHTML=dlm;
 document.getElementById('info0').innerHTML='   ' + Keyword [0];
 };
   
   </script>

<table>
	<tr>
	<td>По торговому наименованию</td>
	<td>
		<form onsubmit='test(); return false;'>
		<input type='text' id='str' value='' />
		</form> 
	</td>
	</tr>
</table>

</center>


<div id='info0'>Актуальность </div>
    <div id='info1'>
      <table border=1 width=90%>
<th>зн0</th><th>зн1</th><th>зн2</th><th>зн3</th></table>
</div>


    </body>
</html>
выше указанная функция искала только одно слово, мне нужно 2,3 короче сколько введет пользователь
Ответить с цитированием