Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2009, 15:57
harryer
 
Сообщений: n/a

доработать скрипт под IE 8
С javascript раньше никогда не связывался. только с html и php. А тут "кровь из носу" нужно человеку динамическую ссылку к завтрашнему дню. И человек такой, что отказать нельзя. Кое как нашел и "впаял" готовый скриптик динамической ссылки. Протестил на опере, моззиле, и IE 6 - ничтяк. Уже было расслабился, но у этого человека IE 8, а там ссылка не пашет совсем. вот проблемная часть скрипта. Если кто может реально помочь, очень прошу. (только умоляю, не нужно советов, вроде "почитай учебник по js" до завтра мне не успеть найти в учебниках нужное и рвать меня будут неподецки.)
</HEAD>
<BODY>
	
	<SCRIPT type="text/javascript">
  function syncList()
 {
 }
  
 //Метод sync() - принимает список из значений атрибутов id элементов SELECT, образующих связанный список и запускает их синхронизацию
 syncList.prototype.sync = function()
 {
     //Перебираем аргументы (id элементов SELECT) и назначаем событиям onChange селектов, с соответствующими id, функцию-обработчик. 
     //В качестве обработчика выступает второй метод объекта syncList - _sync (напрямую его вызывать не нужно) 
     //Обработчик назначается всем элементам SELECT кроме последнего в списке аргументов, т.к. последний не влияет ни на какой другой элемент SELECT и с ним не нужно синхронизироваться.
     for (var i=0; i < arguments.length-1; i++)    document.getElementById(arguments[i]).onchange = (function (o,id1,id2){return function(){o._sync(id1,id2);};})(this, arguments[i], arguments[i+1]);
     document.getElementById(arguments[0]).onchange();//запускаем обработчик onchange первого селекта, чтобы при загрузке страницы заполнить дочерние селекты значениями.
 }
 //служебный метод _sync - срабатывает при смене выбранного элемента в текущем (старшем) элементе SELECT (по его событию onChange) и изменяет содержимое зависимого селекта на основании значения выбранного в старшем селекте.
 syncList.prototype._sync = function (firstSelectId, secondSelectId)
 {
     var firstSelect = document.getElementById(firstSelectId);
     var secondSelect = document.getElementById(secondSelectId);
  
     secondSelect.length = 0; //обнуляем второй (подчиненный) SELECT
     
     if (firstSelect.length>0)//если первый (старший) SELECT не пуст
     {
         //из свойства dataList, с данными для заполнения подчиненных селектов, берем ту часть данных, которая соответствует именно значению элемента, 
         //выбранного в первом селекте, и определяет содержимое подчиненного элемента SELECT.
         var optionValue = firstSelect.options[ firstSelect.selectedIndex==-1 ? 0 : firstSelect.selectedIndex].value; var optionData = this.dataList[optionValue]; if (!optionData) optionData = this.dataList[parseInt(optionValue)];
         //заполняем второй (подчиненный) селект значениями (создаем элементы option)
         for (var key in optionData || null) secondSelect.options[secondSelect.length] = new Option(optionData[key], key);
         
         //если в старшем SELECT-е нет выделенного пункта, выделяем первый
         if (firstSelect.selectedIndex == -1) setTimeout( function(){ firstSelect.options[0].selected = true;}, 1 );
         //если во втором списке нет выделенного пункта, выделяем первый его пункт
         if (secondSelect.length>0) setTimeout( function(){ secondSelect.options[0].selected = true;}, 1 );
     }
     //если второй (подчиненный) селект имеет в свою очередь свои подчиненные селекты (те, для которых он главный), 
     //то запускаем его обработчик onchange, чтобы изменить его подчиненные селекты
     secondSelect.onchange && secondSelect.onchange();
 };
 </SCRIPT>
		<span style=\"color: white; font: bold 15px georgia; \">	
 <form action="index.php" method="post">
 <select size="1" id="action" name="action">
 <option value="no_action">все марки</option>
 <option value="ALFA ROMEO">ALFA ROMEO</option>
 <option value="AUDI">AUDI</option>
 <option value="BMW">BMW</option>
 <option value="CHEVROLET">CHEVROLET</option>
 <option value="CHRYSLER">CHRYSLER</option>
 <option value="CITROEN">CITROEN</option>
 <option value="DAEWOO">DAEWOO</option>
 <option value="DAIHATSU">DAIHATSU</option>
 <option value="DODGE">DODGE</option>
 <option value="FIAT">FIAT</option>
 <option value="FORD">FORD</option>
 <option value="HINO">HINO</option>
 <option value="HONDA">HONDA</option>
 <option value="HYUNDAI">HYUNDAI</option>
 <option value="ISUZU">ISUZU</option>
 <option value="JEEP">JEEP</option>
 <option value="KIA">KIA</option>
 <option value="MAZDA">MAZDA</option>
 <option value="MERCEDES BENZ">MERCEDES BENZ</option>
 <option value="MITSUBISHI">MITSUBISHI</option>
 <option value="NISSAN">NISSAN</option>
 <option value="OPEL">OPEL</option>
 <option value="PEUGEOT">PEUGEOT</option>
 <option value="RENAULT">RENAULT</option>
 <option value="SAAB">SAAB</option>
 <option value="SKODA">SKODA</option>
 <option value="SUBARU">SUBARU</option>
 <option value="SUZUKI">SUZUKI</option>
 <option value="TOYOTA">TOYOTA</option>
 <option value="VOLKSWAGEN">VOLKSWAGEN</option>
 <option value="VOLVO">VOLVO</option>
 
 </select>
 <select size="1" ID="ok" name="ok"></select>
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2009, 11:53
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от harryer
нужно человеку динамическую ссылку к завтрашнему дню.
Что нужно?! У вас в коде ни одной ссылки нет...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт меню работает только под IE7 и выше TAILER Internet Explorer 1 31.08.2009 13:21
Помогите доработать хороший скрипт! KiLLka Я не знаю javascript 3 10.06.2009 23:37
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07