Javascript onchange仅适用于select 3和;“全部”;但不是中间的
不知道为什么会发生这种情况,但我的javascript更改显示的过去事件的数量无法正常工作。似乎只有第一个选择选项(3)和最后一个选项(全部)触发onchange事件。请看我的代码,如果我做错了什么,请告诉我,我是js的php新手。此外,在我接受回答之前,我将在我的演示网站上直播: html(php)Javascript onchange仅适用于select 3和;“全部”;但不是中间的,javascript,html,events,javascript-events,Javascript,Html,Events,Javascript Events,不知道为什么会发生这种情况,但我的javascript更改显示的过去事件的数量无法正常工作。似乎只有第一个选择选项(3)和最后一个选项(全部)触发onchange事件。请看我的代码,如果我做错了什么,请告诉我,我是js的php新手。此外,在我接受回答之前,我将在我的演示网站上直播: html(php) echo'显示的编号:31020All'; js <script> var pastEvents = <?php echo json_encode($pastEvents);
echo'显示的编号:31020All';
js
<script>
var pastEvents = <?php echo json_encode($pastEvents); ?>;
function changePast(){
var e = document.getElementById("select")
var selected = e.options[e.selectedIndex].value;
var table = document.getElementById("past_events");
if(table!=null){
var innerhtml = "";
for(i=0;i<selected;i++){
innerhtml+='<table class="invisible"><tr><td><img src="/'+pastEvents[i]["banner"]+'" alt="Event Banner"></td></tr><tr><td>'+pastEvents[i]["name"]+'</td></tr></table>';
}
table.innerHTML = innerhtml;
}
}
var=;
函数changefoss(){
var e=document.getElementById(“选择”)
所选变量=e.options[e.selectedIndex]。值;
var table=document.getElementById(“过去的事件”);
如果(表!=null){
var innerhtml=“”;
对于(i=0;i我已经计算出来,只有5个过去的测试事件,因此如果我选择一个数字,我需要检查该值是否大于对象的#,如果是,那么我需要使用object.length。下面是for循环之前添加的代码:
if(selected>pastEvents.length){
selected = pastEvents.length;
}
我想我已经弄明白了,过去只有5个测试事件,所以如果我选择一个数字,我需要检查该值是否大于对象的#,如果是,那么我需要使用object.length
if(selected>pastEvents.length){
selected = pastEvents.length;
}