![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.12.2011
Сообщений: 86
|
![]()
Сижу уже пол дня бьюсь над тем, почему не вызывается функция selToString();
Когда добавляю несколько строк в Select и начинаю рандомно кидать их из одного селекта в другой, то иногда selToString все же вызывается и значение у selstring меняется. Вопрос: почему selToString не вызывается? Код HTML:
<script> function selToString() { var objCategoryParams = document.getElementById('params_category_byID'); var objHidden = document.getElementById('selstring_byID'); var s = ''; objHidden.value = ''; for (var i = 0; i <= objCategoryParams.options.length; i++) { s = s + objCategoryParams.options[i].value + '&&' + objCategoryParams.options[i].text + ';'; alert(s); } objHidden.value = s; } function addParams() { var objAllParams = document.getElementById('all_params_byID'); var objCategoryParams = document.getElementById('params_category_byID'); var objNameParam = document.getElementById('new_params_byID'); var objTypeParam = document.getElementById('type_new_params_byID'); var b = true; if (objNameParam.value != '') { for (var i = 0; i < objCategoryParams.options.length; i++) { if (objCategoryParams.options[i].text == objNameParam.value) { b = false; alert('Параметр уже существует и добавлен к данной категории'); } } if (b == true) { //Если параметра нет в списке выбраных проверяем есть ли он в списке остальных параметров for (var i = 0; i < objAllParams.options.length; i++) { if (objAllParams.options[i].text == objNameParam.value) { b = false; objCategoryParams.options[objCategoryParams.options.length] = objAllParams.options[i]; objAllParams.options[i] = null; alert('Параметр перенесен из списка всех параметров в спиок параметров для категори'); objNameParam.value = ''; selToString(); } } } if (b == true) { objCategoryParams.options[objCategoryParams.options.length] = new Option(objNameParam.value, "000"+"&&"+objTypeParam.options[objTypeParam.selectedIndex].text); objNameParam.value = ''; selToString(); } } } function paramLeft() { var objAllParams = document.getElementById('all_params_byID'); var objCategoryParams = document.getElementById('params_category_byID'); objCategoryParams.options[objCategoryParams.options.length] = objAllParams.options[objAllParams.selectedIndex]; objAllParams.options[objAllParams.selectedIndex] = null; selToString(); } function paramRight() { var objAllParams = document.getElementById('all_params_byID'); var objCategoryParams = document.getElementById('params_category_byID'); objAllParams.options[objAllParams.options.length] = objCategoryParams.options[objCategoryParams.selectedIndex]; objCategoryParams.options[objCategoryParams.selectedIndex] = null; selToString(); } function allParamLeft() { var objAllParams = document.getElementById('all_params_byID'); var objCategoryParams = document.getElementById('params_category_byID'); var count = objAllParams.options.length; for (var i = 0; i <= count; i++) { objCategoryParams.options[objCategoryParams.options.length] = objAllParams.options[0]; } objAllParams.options.length = 0; selToString(); } function allParamRight() { var objAllParams = document.getElementById('all_params_byID'); var objCategoryParams = document.getElementById('params_category_byID'); var count = objCategoryParams.options.length; for (var i = 0; i < count; i++) { objAllParams.options[objAllParams.options.length] = objCategoryParams.options[0]; } objCategoryParams.options.length = 0; selToString(); } </script> <input type="text" name="selstring" id="selstring_byID" value="none"><br> <b>Параметры</b> <br> <div style="clear: left;"> Новый параметр: <input type="text" name="new_params" id="new_params_byID"> <select name="type_new_params" id="type_new_params_byID"> <option value="">Множественный выбор</option> <option value="">Единственный выбор</option> <option value="">Число</option> <option value="">Строка</option> </select> <input type="button" value="Добавить" onClick="addParams();"> </div> <br> <div style="float: left;"> Существующие параметры для данной категории<br> <select size="7" name="params_category" id="params_category_byID"> </select> </div> <div align="center" style="float: left;"><br> <input type="button" value="<--" onClick="allParamLeft();"><br> <input type="button" value="<-" onClick="paramLeft();"><br> <input type="button" value="->" onClick="paramRight();"><br> <input type="button" value="-->" onClick="allParamRight();"><br> </div> <div style="float: left;"> Остальные параметры<br> <select size="7" id="all_params_byID"> </select> </div> Последний раз редактировалось Dexes; 01.02.2012 в 11:09. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 27.12.2011
Сообщений: 86
|
![]()
Наидено решение: изменил функцию selToString
Код:
Последний раз редактировалось Dexes; 01.02.2012 в 11:06. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Процедура не вызывается | Точьичка | Общие вопросы Delphi | 6 | 25.09.2011 17:52 |
EnumThreadWndProc не вызывается | bro | Win Api | 4 | 16.04.2011 23:00 |
из тела проги не вызывается функция | vimpel | Общие вопросы C/C++ | 2 | 29.03.2010 23:18 |
Функция не вызывается с другого Unita | Seran4ek | Общие вопросы Delphi | 7 | 03.01.2010 18:55 |
не вызывается Paint в borland 5 | primeplus | Общие вопросы C/C++ | 4 | 08.08.2009 08:14 |