Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.175.182] |
|
Сообщ.
#1
,
|
|
|
Сформировать элемент SELECT - не тяжело:
document.write('<SELECT>'); document.write('<OPTION Name1="Item1" Value="Vasya">'); ... document.write('</SELECT>'); Но как мне изменять количество итемов этого элемента? Удалять существующие и добавлять новые? Примерчик дайте, плиз, простенький Добавлено А ещё лучше: как формировать SELECT в тот момент когда не нём кликают? Что-то такое, наверное: <SELECT NAME="sel0" onClick="zapolnit('sel0');return true;"></SELECT> Но как составить функцию zapolnit? Данные для селекта находятся в массиве: var data=new Array(); data = [ [1,"Oleg"] [2,"Pavel"] [3,"katya"] ]; |
Сообщ.
#3
,
|
|
|
Mixxx, указанный линк сильно помог.
Иду дальше: Суть задачи такая: сущ-т массив возможных позиций игрока на поле: var pos=[ "GK", "LD", "CD",....."CF" ]; Сущ-т 11 селектов, для каждого можно выбрать любую позицию из тех, что ещё не используются. Как это лучше сделать? Изначально выбраны какие-то позиции по-умолчанию. Я бы хотел нужно формировать содержимое селекта в момент клика на нём (добавлять неиспользованные позиции), сразу же показывать новый список, а после выбора итема - убирать лишние позиции, а оставить только выбранную... Вот только <SELECT NAME="selPos1" onClick="showPosLeft(this);return(true)"></SELECT> function showPosLeft( selN ) { for ( i=2 ; i<pos.length ; i++ ) { var bFounded=false; for ( j=0 ; j<11 ; j++ ) { if ( i==MP[j][0] ) { bFounded=true; // позиция используется j=11; } } if ( bFounded == false ) { var itemNum=selN.options.length++; selN.options[itemNum].text=pos[i]; selN.options[itemNum].value=i; } } } Этот код формирует список, который сразу же закрывается и не даёт возможность выбрать элемент... Как побороть проблему? Второй вариант: забить все селекты всеми свободными позициями, а при выборе в одном из них новой позиции обработать все другие селекты так, чтобы только что выбранная позиция в них исчезла, а освобождённая появилась... Как вы считаете, какой метод лучше? |
Сообщ.
#4
,
|
|
|
Цитата Как побороть проблему? Формируйте его по событию onmouseover |
Сообщ.
#5
,
|
|
|
Mixxx, идея неплоха, как только я сам не додумался...
Только вот, когда один из селектов уже открыт перемещение мышки над другими не приводит к генерации события onMouseOver - и следовательно содержимое селектов - не обновляется.. |