Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / обмен даными между объектми <select ... / 15 сообщений из 15, страница 1 из 1
25.02.2008, 10:15
    #35153044
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Всем добрый день! Кто-нибудь на просторах internet замечал реализацию того, что изображено на рисунке?
...
Рейтинг: 0 / 0
26.02.2008, 01:53
    #35154228
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
А в чем, собственно, вопрос? И тем более сложность?
...
Рейтинг: 0 / 0
26.02.2008, 15:12
    #35155612
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
IDVsbruckА в чем, собственно, вопрос? И тем более сложность?

>вопрос ...
если встречали в нете страничку с таким интерфейсом, киньте сюда url
если есть уже готовые функции, киньте пример, дабы не городить велосипед
...
Рейтинг: 0 / 0
26.02.2008, 15:24
    #35155659
alexzander77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Сделайте за меня курсовой? Чего его велосипед изобретать.
и проект по работе напишите - всеравно ж уже подобное писали.

Модератор: Сообщение отредактированно модератором.
Автор заблокирован на неделю за употребление мата
...
Рейтинг: 0 / 0
26.02.2008, 15:46
    #35155728
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
alexzander77Сделайте за меня курсовой, хуле? Чего его велосипед изобретать.
и проект по работе напишите - всеравно ж уже подобное писали, хуле.

уважаемый, обязательно сделаю и выложу сюда
...
Рейтинг: 0 / 0
26.02.2008, 16:15
    #35155852
alexzander77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
_webуважаемый, обязательно сделаю и выложу сюда
:D
не понимаешь - ежели бы у тебя что-то не получалось, и ты спросил - подсказали бы (каждый подсказчик при этом почувствовал бы себя умным шотрындец и возрадовался).
а так - рассказывать что-то, только потому что тебе лень открыть хелп? тут себя не умным, а какраз таки наоборот почувствуешь.
сделаю и выложу сюда - давай не будем выкладывать коды для переноса элемента из массива в массив? а то так и до хелловорлд скатиться можно)))
...
Рейтинг: 0 / 0
26.02.2008, 17:26
    #35156137
alexzander77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<script>
function opt_move(){
    for(i= 0 ;i<s1.options.length;i++){
        if(s1.options[i].selected== 1 ){
            var o = s1.options[i];
            s2.appendChild(o);
        }    
    }
}
</script>

<select id=s1 size='10'>
    <option> 1111111 </option>
    <option> 2222222 </option>
    <option> 3333333 </option>
</select>

<input type=button onclick=opt_move() value='->'>

<select id=s2 size='10'>
    <option>и тут шо-та...</option>
</select>

блин. вот я гад...
...
Рейтинг: 0 / 0
27.02.2008, 11:00
    #35157282
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Надо сказать вопросы возникли ...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
<script language="javascript">
function SelMove (Source,Addressee) {
	if (Source.options.length !=  0  ) {
	 	if (Source.selectedIndex != '-1') {
			for ( var i =  0 ; i < Source.options.length; i++ ) {
				if ( Source.options[i].selected ==  1  ) {
					var o = Source.options[i];
		            Addressee.appendChild(o);
				}
			}
		} else {
			alert('Укажите объект!');
		}
	} else {
		alert('Список объектов пуст!');
	}
	Source.selectedIndex =  0 ;
	Addressee.selectedIndex =  0 ;
}
</script>

<form name="fOstanovki" method="POST">
<select size="11" multiple="multiple" name="SrcObj" style="position:absolute;width:265px;height:186px;left:206px;top:335px">
  <option value="value1" selected>Item1</option>
  <option value="value1">Item2</option>
  <option value="value1">Item3</option>
  <option value="value1">Item4</option>
  <option value="value1">Item5</option>
  <option value="value1">Item6</option>
  <option value="value1">Item7</option>
  <option value="value1">Item8</option>
  <option value="value1">Item9</option>
  <option value="value1">Item10</option>
  <option value="value1">Item11</option>
  <option value="value1">Item12</option>
</select>

<select size="11" multiple="multiple" name="AdrObj" style="position:absolute;width:265px;height:186px;left:511px;top:335px">
</select>

<div style="position:absolute; overflow:hidden; left:474px; top:354px; width:34px; height:27px">
 <input type=image OnClick="SelMove(document.forms['fOstanovki'].elements['SrcObj'],document.forms['fOstanovki'].elements['AdrObj']); return false;" src="images/OneToRight.gif" alt=">">
</div>

<div style="position:absolute; overflow:hidden; left:474px; top:384px; width:34px; height:27px">
 <input type=image OnClick="SelMove(document.forms['fOstanovki'].elements['AdrObj']),document.forms['fOstanovki'].elements['SrcObj']; return false;" src="images/OneToLeft.gif" alt="<">
</div>
...
</form>

При вызове
Код: plaintext
OnClick="SelMove(document.forms['fOstanovki'].elements['SrcObj'],document.forms['fOstanovki'].elements['AdrObj']); return false;" 

Перенос из левого в праый список происходит (правда при multiple="multiple" не совсем корректно - наблюдается частичный перенос, из 3х выделенных переносит 2 и так далее),
а вот при вызове
Код: plaintext
OnClick="SelMove(document.forms['fOstanovki'].elements['AdrObj']),document.forms['fOstanovki'].elements['SrcObj']; return false;"
ругается отладчик IE 7
Ошибка: "undefined" - есть null или не является объектом
...
Рейтинг: 0 / 0
27.02.2008, 13:06
    #35157639
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Мой вам совет вместо того чтоб идти по массиву списка вверх, идите вниз, т.е. от Source.options.length и до нуля. Так не будут пропускаться элементы. Поскольку что происходит с длиной массива при каждой итерации когда Source.options .selected? ;-)
...
Рейтинг: 0 / 0
27.02.2008, 15:05
    #35158078
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Garry80Мой вам совет вместо того чтоб идти по массиву списка вверх, идите вниз, т.е. от Source.options.length и до нуля. Так не будут пропускаться элементы. Поскольку что происходит с длиной массива при каждой итерации когда Source.options .selected? ;-)

согласен, вот через уменьшение счётчика (для функции переноса всех записей из списка в список)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function AllMove (Source,Addressee) {
	while (Source.options.length !=  0 ) {
		for (var i = Source.options.length -  1 ; i >=  0 ; i--) {
			var o = Source.options[i];
	            	Addressee.appendChild(o);
		}
	}
}

этого же можно добиться и таким способом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function AllMove (Source,Addressee) {
	while (Source.options.length !=  0 ) {
		for ( var i =  0 ; i < Source.options.length; i++ ) {
			var o = Source.options[i];
	            	Addressee.appendChild(o);
	            	break;
		}
	}
}


Теперь осталось победить ошибку вида
Ошибка: "undefined" - есть null или не является объектом

С чем это может быть связано?
...
Рейтинг: 0 / 0
27.02.2008, 15:21
    #35158145
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
_webТеперь осталось победить ошибку вида
Ошибка: "undefined" - есть null или не является объектом

С чем это может быть связано?

У вас там просто ошибка. Скобка закрывается раньше времени;-) Вот и "undefined".
...
Рейтинг: 0 / 0
27.02.2008, 16:24
    #35158443
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Garry80 _webТеперь осталось победить ошибку вида
Ошибка: "undefined" - есть null или не является объектом

С чем это может быть связано?

У вас там просто ошибка. Скобка закрывается раньше времени;-) Вот и "undefined".

2 Garry80
Ай, да умница

сейчас зашлифую и выложу для истории
...
Рейтинг: 0 / 0
27.02.2008, 16:44
    #35158536
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
вот ряд скриптов для работы с объектом <select...
в частности для этой задачи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<script language="javascript">
function SelMove (Source,Addressee) {
	if (Source.options.length !=  0  ) {
	 	if (Source.selectedIndex != '-1') {
			while (Source.selectedIndex != '-1') {
				for ( var i =  0 ; i < Source.options.length; i++ ) {
					if ( Source.options[i].selected ==  1  ) {
						var o = Source.options[i];
			            Addressee.appendChild(o);
			            break;
					}
				}
			}

		} else {
			alert('Укажите объект!');
		}
	} else {
		alert('Список объектов пуст!');
	}
	Source.selectedIndex =  0 ;
	Addressee.selectedIndex =  0 ;
}

function AllMove (Source,Addressee) {
	while (Source.options.length !=  0 ) {
		for ( var i =  0 ; i < Source.options.length; i++ ) {
			var o = Source.options[i];
	        Addressee.appendChild(o);
	        break;
		}
	}
	Source.selectedIndex =  0 ;
	Addressee.selectedIndex =  0 ;
}

function SelObjId(el) {
	var str = '';
	for (i =  0 ; i < el.length; i++) {
		if (i == (el.length- 1 )) {
			str = str + el.options[i].value;
		} else {
			str = str + el.options[i].value + ',';
		}
	}
	alert(str);
	return str;
}

function DelAll (el) {
	el.length =  0 ;
}
</script>

PS: я думал, что модератор пропал безвести (маты)
Модератор: Не пропал, но и обрабатывать столько сообщение тоже трудно. Для посетителей, есть кнопка "Сообщить модератору", пользуйтесь ею активнее
...
Рейтинг: 0 / 0
27.02.2008, 17:58
    #35158890
_web
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
2 Модератор
Понял!

скрипты немного оптимизировал, для истории
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
<script language="javascript">
function SelMove (Source,Addressee) {
	if (Source.options.length !=  0  ) {
	 	if (Source.selectedIndex != '-1') {
			while (Source.selectedIndex != '-1') {
				var o = Source.options[Source.selectedIndex];
			    Addressee.appendChild(o);
			}
		} else {
			alert('Укажите объект!');
		}
	} else {
		alert('Список объектов пуст!');
	}
	//alert('всего: '+Source.options.length+'\nвыделена строка: '+Source.selectedIndex);
	//alert('всего: '+Addressee.options.length+'\nвыделена строка: '+Addressee.selectedIndex);

	//if ( Source.options.length >  0  ) {Source.options.selectedIndex =  0 ;}
	//if ( Addressee.options.length >  0  ) {Addressee.options.selectedIndex =  0 ;}
}

function AllMove (Source,Addressee) {
	while (Source.options.length !=  0 ) {
		var o = Source.options[ 0 ];
        Addressee.appendChild(o);
	}
	//if ( Source.options.length >  0  ) {Source.options.selectedIndex =  0 ;}
	//if ( Addressee.options.length >  0  ) {Addressee.options.selectedIndex =  0 ;}
}

function SelObjId(el) {
	var str = '';
	for (i =  0 ; i < el.length; i++) {
		if (i == (el.length- 1 )) {
			str = str + el.options[i].value;
		} else {
			str = str + el.options[i].value + ',';
		}
	}
	alert(str);
	return str;
}

function DelAll (el) {
	el.length =  0 ;
}
</script>

Теперь почему-то не прокатывает выделение нулевой строки в <select ... на IE 6, а на IE 7 катит
Код: plaintext
1.
2.
	//if ( Source.options.length >  0  ) {Source.options.selectedIndex =  0 ;}
	//if ( Addressee.options.length >  0  ) {Addressee.options.selectedIndex =  0 ;}
...
Рейтинг: 0 / 0
27.02.2008, 20:12
    #35159172
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обмен даными между объектми <select ...
Source.options[0].selected=true;
Addressee.options[0].selected=true;
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / обмен даными между объектми <select ... / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]