powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выпадающие списки
6 сообщений из 6, страница 1 из 1
Выпадающие списки
    #32486340
wells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма перед отправкой которой нужно выбрать значение из нескольких списков. Причём второй должен формироваться на основе выбора первого, а третий на основе выбора второго. Короче: есть список категорий, продуктов и версий. Так вот при выборе определённой категории должен меняться список продуктов и т.д.. Есть вариант с использованием фреймов, но он не подходит.
Как это всё нарисовать на одной странице?
...
Рейтинг: 0 / 0
Выпадающие списки
    #32486379
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем frame 'ы? Можно всё и так сделать. Но при этом форма будет перегружаться при каждом выборе категории. По событию SelectedIndexChanged первого списка выбираются данные для второго списка, по тому же событию второго списка выбирается данные для третьего и т.д., до бесконечности...
...
Рейтинг: 0 / 0
Выпадающие списки
    #32486401
wells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А без перезагрузки формы никак?
Просто, в форме кроме этих списков ещё куча всего. Придётся всё это сохранять, затем разбирать.
...
Рейтинг: 0 / 0
Выпадающие списки
    #32486767
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через java-скрипты на клиенте

-- Tygra's --
...
Рейтинг: 0 / 0
Выпадающие списки
    #32486792
wells
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to tygra: Уже рою в этом направлении! Но есть проблемы. Сделал массив из категорий, внутри ещё по массиву из продуктов. Но при выборе в форме не могу обратиться к массиву. Имя массива это "frmS.selCat.value". Когда передаю его через "onChange()" не могу обратиться к нему как к массиву.
...
Рейтинг: 0 / 0
Выпадающие списки
    #32487796
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тебе могу показать, как у нас делается, попробуй разберись.
Если увидеть хочешь, как работает, то у нас на сайте (www.ozon.ru) при добавлении адреса в украине

Код: 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.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
  <% If rcount >  0  Then %> 
  var city_name = new Array(<%= ccount %>);
  var city_id = new Array(<%= ccount %>);
  var city_region_id = new Array(<%= ccount %>);
  city_num = <%= ccount %>
  
  city_name [0 ] =  "Другой населенный пункт" ;
  city_id [0 ] =  -99999 ;
  city_region_id [0 ] =  0 ;
  <% End If %>
  
  <asp:repeater id= "cityrepeater"  runat= "server"  enableviewstate= "false" >
    <itemtemplate>
      city_name[<%= cindex %>] =  "<%# DataBinder.Eval(Container.DataItem, " Name ") %>" ;
      city_id[<%= cindex %>] =  "<%# DataBinder.Eval(Container.DataItem, " ID ") %>" ;
      city_region_id[<%= cindex %>] =  "<%# DataBinder.Eval(Container.DataItem, " RegionID ") %>" ;
      <% cindex = cindex +  1  %>
    </itemtemplate>                                            
  </asp:repeater>
          
  <% If rcount >  0  Then %>          
  function regionchange() {
    var ptn2 = MainForm.<%= Replace(RegionList.UniqueID,  ":" ,  "_" ) %>;
    var txt = MainForm.<%= Replace(RegionName.UniqueID,  ":" ,  "_" ) %>;
    var ptn1 = MainForm.<%= Replace(CityList.UniqueID,  ":" ,  "_" ) %>;
    ptn1.options.length =  0 ;
    var optionName = new Option(city_name [0 ], city_id [0 ], false, false);
    ptn1.options[ptn1.length] = optionName;
    for (i =  0 ; i <= city_num; i++) {
      if (city_region_id == ptn2.options[ptn2.selectedIndex].value) {
        var optionName = new Option(city_name[i], city_id[i], false, false);
        ptn1.options[ptn1.length] = optionName;
      };
    };
    if (ptn1.length ==  1 ) {
      ptn1.options.length =  0 ;
      ptn1.disabled = true;
    } else {
      ptn1.disabled = false;
    };
    if ((ptn1.disabled == true) || (ptn2.selectedIndex ==  0 )) {
      txt.value =  "";
      txt.disabled = false;
    } else {
      txt.value = ptn2.options[ptn2.selectedIndex].text;
      txt.disabled = true;
    };
    <% If ccount > 0  Then %>
    citychange();
    <% End If %>
  };
  <% If ccount >  0  Then %>
  function citychange() {
    var ptn1 = MainForm.<%= Replace(CityList.UniqueID, ": ", " _ ") %>;
    var txt = MainForm.<%= Replace(AreaName.UniqueID, " : ", " _ ") %>;
    if ((ptn1.disabled == true) || (ptn1.selectedIndex == 0 )) {
      txt.value = " ";
      txt.disabled = false;
    } else {
      txt.value = ptn1.options[ptn1.selectedIndex].text;
      txt.disabled = true;
    };
  };
  <% End If %>
  regionchange();
  <% End If %>

-- естественно в vb есть такое:
 
      RegionList.Attributes.Add("OnChange ", " regionchange();")


[i]-- Tygra's
--
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выпадающие списки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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