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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическая замена <select> на <input> 
:(
    Опции темы
Panopticum
Дата 7.7.2010, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ТЗ
сделать выпадающий список (вместо ячейки Страна) «Выберите страну», в котором можно будет выбрать: одру из трех позиций (Украина, Россия, Другие страны), При нажатии Другие страны – поле очищается и человек просто вводит текст.  

я так понимаю нужно написать функцию при вызове которой тег <select> и все его содержимое будет удалятся и на место него будет вписываться тег <input> ?   
javascript учил очень давно по этому уже мало что помню, подскажите как реализовать выше сказанное.

зарание благодарен за ответ. 
PM MAIL ICQ   Вверх
Fiyanov
Дата 7.7.2010, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

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



помещаешь тег select в div
то есть:
Код

<div id="mydiv">
   <select>
   </select>
</div>

у селекта на онченж пишеш функцию
в функции
Ищешь див по id
заменяешь innerHTML этого дива на '<input type="text" value="введите страну">'

Всё.
PM MAIL ICQ   Вверх
CruorVult
Дата 7.7.2010, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



зачем удалять, добавляешь на стринацу скрытый <input ... style="display:none">. при выборе onchange из селекта cкрываешь его и показываешь инпут.
PM MAIL Skype   Вверх
Panopticum
Дата 7.7.2010, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот что написал, не работает, в чем проблема может быть?
Код

<div id="myid">
            <select id="sel_1 "size="1" name="sel1">
                <option disabled selected value="Выбирите страну">Выбирите страну</option>
                <option value="Украина">Украина</option>
                <option value="Россия">Россия</option>
                <option onclick="func()" value="Другие страны">Другие страны</option>
            </select>
        </div>
        <input type="submit" value="Отправить">
        <script type="text/javascript">
            function func(){
                var Div = document.getElementById(myid);
                Div.innerHTML = '<input type="text" value="введите страну">';
            }
        </script>


PM MAIL ICQ   Вверх
CruorVult
Дата 7.7.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



кавычки забыли:
Код

var Div = document.getElementById('myid');

PM MAIL Skype   Вверх
Panopticum
Дата 7.7.2010, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



благодарю за помошь.
но возникла новая проблема, в chrome данный код не работает, то есть при выборе "другие страны" вообше ничего не происходит, как это исправить? 
PM MAIL ICQ   Вверх
bars80080
Дата 7.7.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



select всё-таки не кликабельная штука. основной его обработчик: <select onchange="func()">, а не на оптионс вешать
PM MAIL WWW   Вверх
ex3c
Дата 7.7.2010, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

function func( a ) {
var x = document.createElement('input');
x.type = 'text';
a.parentNode.insertBefore( x, a.nextSibling );
a.parentNode.removeChild( a );
}


Код

<select onchange="func( this );" …

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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