Скрипт создания и поиска по двухмерному массиву
задача: написать скрипт, который заносит информацию о "студентах" в массив а затем по ключевому слову произвести поиск.
P.S. в javascript почти полный нуб. не ругайтесь сильно. вот что получилось <html> <head> <title>Студентики</title> <meta http-equiv="content-type" content="text/html; charset=Utf-8"> </head> <body> <SCRIPT LANGUAGE="JAVASCRIPT"> //создаю массив stud var stud=new Array; var i = prompt("сколько студентов будем Вводить?"); var n=0; while (n != i){ // цикл, заполняющий массив stud[n]=new Array; stud[n][0] = prompt ("введите Фамилию студента"); stud[n][1] = prompt ("введите Имя студента"); stud[n][2] = prompt ("введите Отчество студента"); stud[n][3] = prompt ("введите Год рождения студента"); stud[n][4] = prompt ("введите Группу студента"); stud[n][5] = prompt ("введите Год Факультет студента"); stud[n][6] = prompt ("введите Оценку по алгебре "); stud[n][7] = prompt ("введите Оценку по астрофизике студента"); stud[n][8] = prompt ("введите Оценку по механнике студента"); n++; } // блок который должен появиться ПОСЛЕ заполнения массива document.write ("Ввод данных закончен"); document.write ("<br>"); document.write ("Для поиска нужного студента введите любое ключевое слово в поле "); document.write ("<input type='text' id='zapros' value='Задайте критерий для поиска'>"); document.write ("<br>"); document.write ("<input type='button' value='Найти' OnClick='poisk('str','po');'>"); var zap = document.getElementById('zapros').value; n =0; // обнуляю переменную первого цикла var pr = 0; // переменная внутреннего цикла, который должен нарезать ячейки var pa = 0; // переменная цикла в котором происходит сравнение запроса (критерия поиска) с каждым элементом массива var och = 0; // переменная увеличивается на 1 если есть совпадение function poisk (tag,txt){ //функция поиска document.getElementById('tag').innerHTML=<table id='table'>; //создает начало таблици while (n !=i ){ //Цикл первого измерения while (pa !=9 ){ // 2-ое измерение if (stud[n][pa]=zap) // сравнение элемента с запросом { och ++; //переменная увеличивается на 1 если есть совпадение document.getElementById('tag').innerHTML='<tr'>; while (pr != 9){ //нарезание ячеек и вставка в каждую соответствующего элемента массива document.getElementById('tag').innerHTML='<td>'; document.getElementById('tag').innerHTML= stud[n][pa];// как написать не знаю. document.getElementById('tag').innerHTML='</td>'; pr++; } document.getElementById('tag').innerHTML='</tr>'; } } pa++; n++; } /*document.write ("</table>");*/ if (och = 0) { //document.write ("Ничего не найдено"); //document.write ("<br>"); } document.getElementById('tag').innerHTML='</table>'; } </SCRIPT> <div id='str'> </div> </body> </html> Немогу понять почему не один из отладчиков не показывет ошибки. подскажите пожалуйста, где проблема? скобки все на месте. вроде все как надо. но не работает. в заранее большое спасибо |
если где то не понятно, поясню
|
Ну, прежде всего ошибка в кавычках:
35: document.write ("<input type='button' value='Найти' onclick=\"poisk('str','po');\">"); 45: document.getElementById('tag').innerHTML="<table id='table'>"; //создает начало таблицы 51: document.getElementById('tag').innerHTML='<tr>'; |
В остальном… Есть много, много нюансов.
Например, когда я жму «Отмена» в окне «Количество студентов», скрипт зацикливается. |
Часовой пояс GMT +3, время: 09:15. |