我对select标签有疑问。我谷歌它并没有找到任何有关我的问题的解决方案。这里是其中一个链接......(Uncaught TypeError: Cannot read property 'value' of undefined).....我在select标签中的onchange事件上有一些功能,这个怎么样..
<select id="selectBox" onchange="_change();">
<?php
$i = 1;
while ($lastpage >= $i):?>
<option><?php echo $i; ?></option>
<?php
$i++;
endwhile;
?>
</select>
可能的jQuery代码......
<script type="text/javascript">
function _change(evt)
{
alert(this.options[this.selectedIndex].value);
};
</script>
问题是为什么我未定义未定义而是获取未定义的值或属性,以便我可以继续解决该问题... 谢谢任何帮助将不胜感激...
答案 0 :(得分:1)
您必须将引荐来源元素this
传递给您的javascript函数。
代码:
<select id="selectBox" onchange="_change(this);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
JS:
function _change(el) {
alert(el.options[el.selectedIndex].value);
};
答案 1 :(得分:0)
***SIMPLEST REPRESENTATION:-***
<!DOCTYPE html>
<html>
<body>
Select a fruit and click the button:
<select id="mySelect">
<option value="11">Apple</option>
<option value="12">Orange</option>
<option value="13">Pineapple</option>
<option value="14">Banana</option>
</select>
<button type="button" onclick="myFunction()">Display index</button>
<script>
function myFunction() {
var x = document.getElementById("mySelect").selectedIndex;
var y = document.getElementById("mySelect").options;
alert("Index: " + y[x].index + " text is " + y[x].text + " and value is " + y[x].value);
}
</script>
</body>
</html>