IE: Javascript функция обмена получает пустое значение - PullRequest
1 голос
/ 04 декабря 2011

Почему эта простая функция Javascript не работает в Internet Explorer версии 8. Почему myvalue пусто в Internet Explorer.

javascript debug myvalue==

Это нормально работает в Chrome / Firefox и правильно показывает выбранное значение.

javascript debug myvalue=Item2=

Код

<html>
<script type="text/javascript"> 
function showValue(myvalue)
{
   document.write("javascript debug myvalue=" + myvalue + "=\n");
}
</script>

<body>

<select id="items" onchange="showValue(this.value);">
 <option>Item1</option>
 <option>Item2</option>
 <option>Item3</option>
</select>

</body>
</html>

Ответы [ 2 ]

2 голосов
/ 04 декабря 2011

Это потому, что у вас нет значений в ваших опциях.Примерно так будет работать:

<option value="VALUE1">TEXT1</option>

Но, если вам действительно нужен параметр TEXT, а не VALUE, вы должны использовать это:

var e = document.getElementById("items");
var txt = e.options[e.selectedIndex].text;

См. HTMLOptionElement DOM spec для получения дополнительной информации о параметрах.

0 голосов
/ 04 декабря 2011

Если бы вы использовали вместо this.value this.options [this.selectedIndex], он мог бы работать в IE8 (которого у меня нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...