Mixon, премного благодарен UPD Реализовал желаемую ф-цию (8 одинаковых селектов, каждый пункт кроме первого можно выбать только единожды.) Трабла: если выбрать четвёртый пункт, но при этом не первый раз (до этого уже был осуществлён выбор какого-либо пункта в этом или другом селекте), то из других селектов этот пункт не удаляется. если первый раз - норм. прилагаю полный код Code: <html><head><link rel="stylesheet" type="text/css" href="style.css" /><title>Test page</title></head> <body> <script language='javascript'> var i; var _tmp; var code; var opt = new Array(); var num = new Array('','one','two','three','four','five','six','seven','eight'); for (i=1;i < num.length;i++){ opt[num[i]] = 0; } function test(obj) { if (opt[obj.name] != 0) { code = '_tmp.options[_tmp.options.length] = new Option(num[opt[obj.name]], opt[obj.name])'; } else { code = '_tmp.remove(obj.value)'; } for (i = 1;i<num.length;i++) { eval('_tmp=document.form.'+num[i]); if (_tmp != obj) { eval(code); } } opt[obj.name] = obj.value; } </script> <form name='form' method='POST'> <table> <tr><td><select name='one' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td> <td><select name='two' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td></tr> <tr><td><select name='three' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td> <td><select name='four' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td></tr> <tr><td><select name='five' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td> <td><select name='six' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td></tr> <tr><td><select name='seven' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td> <td><select name='eight' onchange='javascript:test(this);'> <option value='0'>---</option> <option value='1'>One</option> <option value='2'>Two</option> <option value='3'>Three</option></select></td></tr></table> <input type='submit'></form> </body></html>
Есть код на JS Code: <script type='text/javascript'> var lastID = 0; function SelectImg(id) { if (lastID > 0) { } document.getElementById(0).src = document.getElementById(id).src; lastID = id; } function LoadTrigger() { SelectImg(1); } window.onload = LoadTrigger; </script> Вообщем проблема в том что он в хедере - и выдает ошибку object null в IE6 если я не нахожусь на той страницы для которой он предназначен. Как мне убрать ошибку :? т.е что бы IE6 не показывал возврат NULL ? он ругаеться на эту строку Code: var lastID = 0;
брр,у тя вовсе странная реализация,вот что я на клацал)) Ты роспеши в Точности,что нужно чтобы было,при выборе какого пункта - какой должен пропасть а какой появится...потому как из-за этих багов - фиг чего понятно( + ты пиши с расчётом,что на стороне Сервера - тебе каждый пункт проверить прийдётся)) потому-как данные отправление мона свободном подменять)
мне нужно, чтобы было то есть один, два или три можна выбрать только раз во всей форме. ты прав, хрень какая-то получилась направь меня в правильную сторону , желательно с примерами
Adio, id не может начинаться на цифру. Браузеры проглотят, но делать так не стоит. Code: if (lastID > 0) { } Что это? Зачем это? Где то, что будет выполняться, если lastID > 0 ? Да и как lastID может быть больше нуля, если ты строчкой выше объявил его нулём Ты бы кусок кода побольше скинул, не совсем понятно, что должно быть-то в итоге.
Правильная сторона,это jQuery)) Ну так смотри,ты говоришь чтобы 1 2 и 3 можно было во всей форме выбрать только,то есть? в одном селекторе 1 из 3х вариантов или чтобы только 3 варианта из всех 8 форм? т.е. только три формы вовсе могут быть заданы,в нашем случае?
помогите составить JS скрипт: Которому передается unix время и он его разделяет на часы минуты и секунды и отсчитывает в обратную сторону, когда время заканчивается то обновляется страница
отсчитывается? т.е. передается время В перед на сколько секунд мотать? если да - зачем тогда тебе переводить в мынуты и т.д,и вобще, зачем тогда юникс? передали-бы просто 100 секунд допустим,скрипт к нынешнему времени додаст 100 сек,и поставить setTimeout('document.location.href=document.location.href',100); а отсчёт сделать или эти 100 сек,или через data пробовать что-то более соуродить
Немного не понял, зачем "скрипт к нынешнему времени додаст 100 сек" А так - всё абсолютно верно. Передаём количество секунд и через setTimeout выполняем переход по ссылке. unixtime и есть секунды, переводить их куда-то смысла нет Либо вычисляем разность двух unixtime, чтоб узнать количество секунд, либо же передаём скрипту уже нужное количество. Или же у тебя, HTL, какая-то нетривиальная задача?
Добрый день! Подскажите плиз... Вот нужен скрипт, чтоб я мог установить его в нужном месте на сайте (на разных страницах), а он отображал топределённый текст или набор ссылок.. Ну т.е. чтоб мне не редактировать все страницы сайта, а где-то что-то поменять
Code: <style> SELECT{ width:150px; } </style> <select id="sel1"></select> <select id="sel2"></select> <br> <select id="sel3"></select> <select id="sel4"></select> <br> <select id="sel5"></select> <select id="sel6"></select> <br> <select id="sel7"></select> <select id="sel8"></select> <script> var selected = { One: [false, -1], Two: [false, -1], Three: [false, -1] }; function recreate(sel, id) { if (sel.value == 0) { if (selected['One'][1] == id) { selected['One'] = [false, -1]; } if (selected['Two'][1] == id) { selected['Two'] = [false, -1]; } if (selected['Three'][1] == id) { selected['Three'] = [false, -1]; } } else { selected[sel.value] = [true, id]; } select(); } function select() { for (var i = 1; i < 9; i++) { var _tmp = document.getElementById('sel' + i); _tmp.innerHTML = '<option value="0" onclick="recreate(this,' + i + ')">---</option>'; if (!selected['One'][0]) { _tmp.innerHTML += '<option value="One" onclick="recreate(this,' + i + ')">One</option>'; } else if (selected['One'][1] == i) { _tmp.innerHTML += '<option value="One" onclick="recreate(this,' + i + ')" selected="selected">One</option>'; } if (!selected['Two'][0]) { _tmp.innerHTML += '<option value="Two" onclick="recreate(this,' + i + ')">Two</option>'; } else if (selected['Two'][1] == i) { _tmp.innerHTML += '<option value="Two" onclick="recreate(this,' + i + ')" selected="selected">Two</option>'; } if (!selected['Three'][0]) { _tmp.innerHTML += '<option value="Three" onclick="recreate(this,' + i + ')">Three</option>'; } else if (selected['Three'][1] == i) { _tmp.innerHTML += '<option value="Three" onclick="recreate(this,' + i + ')" selected="selected">Three</option>'; } } } select(); </script> Так?
огромное спасибо. почти выделенный вариант можно изменить только на "---". то есть если я выбрал "два", то не могу изменить выбор на "три", например, при том что оба варианта свободны
А смысл от такого? по выбору --- потом он снова сможет выбрать вариант,а если нет - то после F5 - точно... тем-более смысл от этого не вижу,выбирешь ошибочно,а изменить - фигу..