Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2010, 14:28
Интересующийся
Отправить личное сообщение для Oracool Посмотреть профиль Найти все сообщения от Oracool
 
Регистрация: 04.12.2009
Сообщений: 23

Событие внутри работает, выношу в функцию - не работает!
Есть такой код:
<select id="country" size="1" onChange="alert(document.getElementById('country')[selectedIndex].text);">

<option value="1">Страна 1</option>
<option value="7">Страна 2</option> 
<option value="15">Страна 3</option> 
</select>

и он замечательно работает, что впрочем очевидно!


а вот если вынести alert в функцию, то перестает
<script type="text/javascript">
function Show()
{
var cnt = document.getElementById('country')[selectedIndex].text;
alert(cnt);
}
</script>


<select id="country" size="1" onChange="Show();">
<option value="1">Страна 1</option>
<option value="7">Страна 2</option> 
<option value="15">Страна 3</option> 
</select>


Пишет ошибку что:
selectedIndex - Определение отсутствует!
уже голова треснет щас, помогите плиз!

Последний раз редактировалось Oracool, 01.02.2010 в 14:34.
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2010, 14:32
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

<script type="text/javascript">
function Show(selectedIndex)
{
var cnt = document.getElementById('country')[selectedIndex].text;
alert(cnt);
}
</script>


<select id="country" size="1" onChange="Show(selectedIndex);">
<option value="1">Страна 1</option>
<option value="7">Страна 2</option> 
<option value="15">Страна 3</option> 
</select>
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2010, 14:44
Интересующийся
Отправить личное сообщение для Oracool Посмотреть профиль Найти все сообщения от Oracool
 
Регистрация: 04.12.2009
Сообщений: 23

alert я на самом деле сделал для теста. на самом деле нужно примерно вот это:
<script type="text/javascript">  
var cnt = document.getElementById('country')[selectedIndex].text;  
document.write(cnt);
</script>
  
<select id="country" size="1">  
<option value="1">Страна 1</option>  
<option selected value="7">Страна 2</option>   
<option value="15">Страна 3</option>   
</select>


короче говоря нужно в переменную запихать текст выбранного пункта, т.е. "Страна 1" или "Страна 2" ну и т.д.
Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2010, 16:54
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

document.getElementById('country')[document.getElementById('country').selectedIndex].text


Внимательнее надо быть.
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2010, 17:09
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Аааа! Ну что ж вы все ему про this не скажете
<script type="text/javascript">
    function Show(self) {
        var cnt = self.options[self.selectedIndex].text;
        alert(cnt);
    }
</script>
<select id="country" size="1" onChange="Show(this);">
<option value="1">Страна 1</option>
<option value="7">Страна 2</option>
<option value="15">Страна 3</option>
</select>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает тег <script> внутри тега <div>? serviom Общие вопросы Javascript 10 26.11.2011 01:24
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 19:21