Автор Тема: Запуск функции в параметрами, при выборе из списка  (Прочитано 2785 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Есть html код формы со списком:










Выбор из списка:

Тип:
Тип1
Тип 2



Список select формируется динамично, т.е. количество элементов каждый раз может быть разное;

Задача такова, при выборе из списка определенного значения активизировать определенные радиокнопки:

<SCRIPT language="javascript">

function 
Radio() {

if (???) {
document.FormAdd.Radio1.disabled false ;
document.FormAdd.Radio2.disabled true ;
}
else if (???)  {
document.FormAdd.Radio1.disabled true ;
document.FormAdd.Radio2.disabled false ;
}
else if (???)  {
document.FormAdd.Radio1.disabled true ;
document.FormAdd.Radio2.disabled true ;
}
else {
document.FormAdd.Radio1.disabled false ;
document.FormAdd.Radio2.disabled false ;
}

}

</script>


Вся проблема в том, что в условии я могу сравнивать только:

document.FormAdd.param1.value == \'???\'

Но я не могу в value формировать параметр для радиокнопок, мне этот параметр нужен для формы. Возможно ли использовать какой-либо другой параметр для условия при выборе значения из списка?

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Как вариант вижу создание ассоциативного массива перед функцией:

MyArray = new Array();
MyArray[\'value1\'] = 1;
MyArray[\'value2\'] = 2;
MyArray[\'value3\'] = 3;
MyArray[\'value4\'] = 2;
MyArray[\'value5\'] = 3;
MyArray[\'value6\'] = 1;

И в условии использовать:

MyArray[document.FormAdd.param1.value] == ...

Но тогда вопрос по заполнению массива:
Есть ли возможность заполнять его примерно так?

MyArray = new Array(\'value1\'=>1,\'value2\'=>2,\'value3\'=>3,\'value4\'=>2,\'value5\'=>3,\'value6\'=>1,);

А то собирать список довольно долго...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Это будет где-то так:

var My = {
   value1: 1,
   value2: 2,
   value3: 3
};


Если value1 - составное (к примеру, содержит []), то его нужно заключить в кавычки.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
mike

Спасибо получилось, правда, пришлось все заключать в кавычки...

 var MyArray = {\'up\': \'parent\', \'1\': \'all\', \'24\': \'our\', \'25\': \'our\', \'26\': \'all\', \'29\': \'our\', \'27\': \'our\', \'30\': \'our\', \'31\': \'our\', \'28\': \'our\', \'down\': \'parent\'}

 

Sitemap 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