Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: выделение опции из <select>
 
 автор: aexb   (05.03.2006 в 18:46)   письмо автору
 
 

Вопрос очглупый по идее, но мучаюсь уже часа полтора, крыша едет, мануалы не помогают. Короче, сабж в следующем. Есть код:
Код:

<form name="form1"> 
<select name="sel1"> 
  <option value="my">my</option> 
  <option value="name">name</option> 
  <option value="is">is</option> 
  <option value="vasia">vasia</option> 
</select> 
<input type="text" value="Select Option"> 
</form> 


Вопрос: как на данную кнопочку привязать событие, которое выделяло бы, скажем, <option value="is">is</option>. То бишь, эта опция становилась бы выбранной?

   
 
 автор: codexomega   (05.03.2006 в 19:05)   письмо автору
 
   для: aexb   (05.03.2006 в 18:46)
 

Где в выше-приведенном коде кнопка?

За выбранную опцию в списке отвечает selected: <option selected>

   
 
 автор: 12345   (05.03.2006 в 19:08)   письмо автору
 
   для: aexb   (05.03.2006 в 18:46)
 

sel1.options[2].selected=!0;
(только привязывают функцию к событию)

   
 
 автор: aexb   (05.03.2006 в 19:49)   письмо автору
 
   для: 12345   (05.03.2006 в 19:08)
 

>sel1.options[2].selected=!0;
>(только привязывают функцию к событию)

Спасибо! Действительно получилось :)

   
 
 автор: sulla   (13.03.2006 в 11:20)   письмо автору
 
   для: aexb   (05.03.2006 в 18:46)
 

чтоб новую тему не создавать)

вопрос как сделать выделение пункта динамически формирующегося select - для ОПЕРЫ!
в ослике и мозиле сделал (может криво), а вот с оперой ваще засада (

есть скрипт :


// ф-ция, возвращающая массив городов по заданной стране
function getcityValuesByStreet(index){
    var scityValues = acityValues[index];
    return scityValues.split(","); // преобразуем строку в массив городов
}

// главная ф-ция, выводящая динамически список городов
function MkcityValues(index,NCity){
    var ie4, nn4, nn6, op;
    ie4 = nn4 = nn6 = op =0;
    if (document.all){ie4=1;}
    if (document.layers&&!ie4){nn4=1;}
    if (document.getElementById&&!ie4){nn6=1;}
    if (window.opera) {op=1;}

    
    var aCurrcityValues = getcityValuesByStreet(index);
    var nCurrcityValuesCnt = aCurrcityValues.length;
    var ocityList = document.getElementById("city");
    var ocityListOptionsCnt = ocityList.options.length;
    ocityList.length = 0; // удаляем все элементы из списка городов
    for (i = 0; i <    nCurrcityValuesCnt; i++){
        // далее мы добавляем необходимые города  в список
        if (document.createElement){
            var newcityListOption = document.createElement("OPTION");
            newcityListOption.value = aCurrcityValues[i];
            newcityListOption.text = aCurrcityValues[i];
            // для эксплорера aCurrcityValues[(i-1)] , для мозилы  aCurrcityValues[i]  , а для оперы ?
            if(ie4){ // эксплорер 
                if (aCurrcityValues[(i-1)] == NCity){
                    newcityListOption.selected=true;
                }
            }else if(op){
                //  а вот как это делать вопере ?
            }else if(nn6){ // мазила 
                if (aCurrcityValues[i] == NCity){
                    newcityListOption.selected=true;
                }
            }
            // тут мы используем для добавления элемента либо метод IE, либо DOM, которые, alas, не совпадают по параметрам…
            (ocityList.options.add) ? ocityList.options.add(newcityListOption) : ocityList.add(newcityListOption, null);

        }else{
            // для NN3.x-4.x
            ocityList.options[i] = new Option(aCurrcityValues[i], aCurrcityValues[i], false, false);
            
        }
    }
}
        

   
 
 автор: 12345   (13.03.2006 в 13:11)   письмо автору
 
   для: sulla   (13.03.2006 в 11:20)
 

Есть некривой метод, который поддерживается везде (NN6, видимо, нет, но FF1.06 - да).
<form name="form1"> 
<select name="sel1"> 
  <option value="my">my</option> 
  <option value="name">name</option> 
  <option value="is">is</option> 
  <option value="vasia">vasia</option> 
</select> 
<input type=button value="Select Option" onclick=addOpt(11111,222)> 
</form> 

<SCRIPT>
addOpt=function(txt,val){var newElem = document.createElement("OPTION");
    newElem.text = txt;
    newElem.value = val;
    document.form1.sel1.options.add(newElem);
}
</SCRIPT>

   
 
 автор: Sulla   (13.03.2006 в 17:25)   письмо автору
 
   для: 12345   (13.03.2006 в 13:11)
 

псиб, но :
это не совсем то, точнее СОВСЕМ НЕ ТО!

у меня двасвязанных списка второй зависит от того что буде твыбранно в первом,
второй СТРОИТЬСЯ верно даже в опере!

не работает свойство - selected - и тока в опере
надо сделть чтобы пункт меню который соответствует NCITY был выбран когда второй список будет свормирован.

   
 
 автор: 12345   (13.03.2006 в 19:33)   письмо автору
 
   для: Sulla   (13.03.2006 в 17:25)
 

selected - старое свойство, должно работать. Есть ещё selectrdIndex, попробуйте.

   
 
 автор: Sulla   (14.03.2006 в 02:14)   письмо автору
 
   для: 12345   (13.03.2006 в 19:33)
 

к сожалению , ни то ни другео в опере не прокатывает (
наверно гдето не так обращаюсь, вопрсо где ?:(

   
 
 автор: 12345   (14.03.2006 в 04:14)   письмо автору
 
   для: Sulla   (14.03.2006 в 02:14)
 

?
См. в Опере, ответ - 3, как и везде (правда , для FF надо ещё форму написать):

<select name="sel1"> 
  <option value="my">my</option> 
  <option value="name">name</option> 
  <option value="is">is</option> 
  <option value="vasia" selected>vasia</option> 
</select>
<input type=button onclick=alert(sel1.selectedIndex) value=Index>


Выделите пример, который в Опере не работает (и ворпос решится сам собой).

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования