Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> switch, Как правельно его можно реализовать с... 
V
    Опции темы
Mushu
Дата 25.6.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Вопрос такой как правильно использовать оператор switch точнее что в него нужно положить, чтоб условие выполнилось q[0].name_teg == "select"

Код

var q = new Array();
    
    
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 1;
            q[0].name = "Imya";
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = 1;
            q[1].text = "Imya-1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = 1;
            q[2].text = "Imya-2";
                    
            
            
 
        
        
switch(????) {
    case (q[0].name_teg == "select"):
        alert("yes");
        break
    default:
       alert("nooo");
}

PM MAIL   Вверх
ksnk
Дата 25.6.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Нечего нельзя положить в select, чтобы 
Цитата(Mushu @  25.6.2007,  14:50 Найти цитируемый пост)
... условие выполнилось q[0].name_teg == "select"
 Select  работает по другому. 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Zeroglif
Дата 25.6.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Mushu, 

дубль?

Я могу, конечно, ответить на выбор:

a) положи true;
б) измени логику в рамках switch;
в) не используй switch вообще;

Но лучше бы тебе самому попробовать разобраться с switch statement, не самая простая конструкция, но в мануалах/google примеров - море (вот и ksk даёт ссылку), сложно не понять... а если тебя эксперт с репутацией в этом форуме (vasac) посылает RTFM - не стоит ему сразу же грубить, он не глумится, он так борется с копипастерами и ленивцами ради их же пользы. По вопросу же всё видно. smile 
PM MAIL WWW   Вверх
Mushu
Дата 25.6.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Я знаю что он работает по другому я показываю что нужно задать в теле свича, чтоб логика не нарушалась в маем верхнем не правильном примере. Я как раз и задаю чтоб люди умные и подсказали как правильно нужно реализовать логику.

Код

var q = new Array();
    
    
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 1;
            q[0].name = "Imya";
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = 1;
            q[1].text = "Imya-1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = 1;
            q[2].text = "Imya-2";
                    
            
            
 
        
        
switch(????) {
    case ("select"):
        alert("yes");
        break
    default:
       alert("nooo");
}



PM MAIL   Вверх
Mushu
Дата 25.6.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Хорошо зайдем с другой стороны как ниже приведенный код можно реализовать через switch

Код

var q = new Array();
    
    
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 2;
            q[0].name = "Imya";
            q[0].text = "!!!!!";
            
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = 1;
            q[1].text = "Imya-1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = 1;
            q[2].text = "Imya-2";
                    
            
        var mas_element = new Array();    
      for(var i=0; i<q.length; i++)
        {    
        if (q[i].name_teg == "select")
            {
                mas_element[i] = new Object();
                mas_element[i] =document.createElement("SELECT");
                mas_element[i].name = q[i].name_teg;
                mas_element[i].id = q[i].id;
                mas_element[i].classes = q[i].classes;
                mas_element[i].value = q[i].value
                mas_element[i].text  =q[i].text;
                document.getElementById("podst").appendChild(element_select);
            }
        
        if (q[i].name_teg == "option")
            {
                mas_element[i] = new Object();
                mas_element[i] =document.createElement("OPTION");
                mas_element[i].name = q[i].name_teg;
                mas_element[i].id = q[i].id;
                mas_element[i].classes = q[i].classes;
                mas_element[i].value = q[i].value
                mas_element[i].text  =q[i].text;
                document.getElementById("podst").appendChild(months);
            }
            
            
        
        }


Это сообщение отредактировал(а) Mushu - 25.6.2007, 16:00
PM MAIL   Вверх
Mushu
Дата 28.6.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: нет
Всего: -5



Вот так 
Код

var q = new Array();

            debugger;
            q[0] = new Object();
            q[0].name_teg = "select";
            q[0].id = 2;
                        
            
            q[1] = new Object();
            q[1].name_teg = "option";
            q[1].value = "P";
            q[1].text = "Пример1";
            
            q[2] = new Object();
            q[2].name_teg = "option";
            q[2].value = "O";
            q[2].text = "Пример2";
            
        
            
            
            

  var select = null;    
        for(var i=0; i<q.length; i++)
        {    
        switch(q[i].name_teg){
        case 'select':
                var e=document.createElement("SELECT");
                e.name = q[i].name_teg;
                e.id = q[i].id;
                //e.onchange = d;  //обработчик
                e.value = q[i].value
               
                select=document.getElementById("1").appendChild(e); //?????????????????
                break;        
        
        case'option':
                var e =document.createElement("OPTION");
                e.name = q[i].name_teg;
                
                e.value = q[i].value
                e.text  =q[i].text; 
                if(select)           
                 try {e=select.add(e, null) } //standards compliant; doesn't work in IE
                     catch(ex) {
                        e=select.add(e,select.options.length); // IE only
               }
               e=null
                break;
        
    
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.