最近寫個簡單的網頁
裏面有用到
javascript 來產生選單.
選單分成三部份.
第一欄位select tag 是選電影名稱 (一開始就有顯示出來)).
第二個select選項是 選 星期 (要點選電影名稱才會顯示關聯星期)
第三個select 選項是 時間.(要點選電影名稱才會顯示關聯時間)
可是出現一個問題, 第2和第3的select選單是用 javascript 產生
結果變成看得到資料, 也可以用滑鼠拉出選單看所有的select option 內容. 可是當選定想要的資料時, 比如說 下拉選單的第 3比資料. 用滑鼠點第3筆. 點好了, 畫面依然停留在 第1比資料.
請問該怎麼解決這樣的問題?
底下是我的script
順便問一下, 底下的code 哪一部分要修改才能讓ie 也可以看得到?
代碼:
function chooseFilm(){
clean();
document.forms[0].film_.value = document.forms[0].film.value;
if(document.forms[0].film.value == ""){
alert("please choose a film first!");
clean();
document.forms[0].day.disabled = true;
document.forms[0].time.disabled = true;
return false;
}
chooseDay();
}
function chooseDay(){
if(document.forms[0].film_.value == ""){//should not happened!
alert("no film has choosen!");
return false;
}
document.forms[0].day.disabled = false;
var filmid = document.forms[0].film_.value;
var day_array = new Array();
for(i=0;i<showid_filmid_day_array.length;i++){
if(showid_filmid_day_array[i][1] == filmid){
day_array.push(showid_filmid_day_array[i]);
}
}
//construct day select tag
var day_cache_array = new Array();
for(i=0;i<day_array.length;i++){
var showid = day_array[i][0];
var filmid = day_array[i][1];
var day = day_array[i][2];
if(day_cache_array.indexOf(day_array[i][2]) == -1 ){
day_cache_array.push(day_array[i][2]);
}
}//for
var ttt = document.forms[0].day.options.length;
for(i=0;i<ttt;i++){
document.forms[0].day.options[i] = null;
}
for(i=0;i<day_cache_array.length;i++){
document.forms[0].day.options[i] =
new Option(day_cache_array[i], day_cache_array[i]);
}
chooseTime();
}
function chooseTime(){
if(document.forms[0].film_.value == ""){//should not happened!
alert("no film has choosen!");
return false;
}
document.forms[0].time.disabled = false;
var filmid = document.forms[0].film_.value;
var time_array = new Array();
for(i=0;i<showid_filmid_time_array.length;i++){
if(showid_filmid_time_array[i][1] == filmid){
time_array.push(showid_filmid_time_array[i]);
}
}
//construct day select tag
var time_cache_array = new Array();
for(i=0;i<time_array.length;i++){
var showid = time_array[i][0];
var filmid = time_array[i][1];
var time = time_array[i][2];
if(time_cache_array.indexOf(time) == -1 ){
time_cache_array.push(time);
}
}//for
var time_length = document.forms[0].time.length;
while(time_length>0){
document.forms[0].time.options[time_length] = null;
time_length--;
}
for(i=0;i<time_cache_array.length;i++){
document.forms[0].time.options[i] =
new Option(time_cache_array[i], time_cache_array[i]);
}
}
function validate(){
if( document.forms[0].film.value == "" ){
alert("please choose film name!");
return false;
}
if(document.forms[0].day.value == ""){
alert("please choose a day!");
return false;
}
if(document.forms[0].time.value == ""){
alert("please choose time!");
return false;
}
document.forms[0].submit();
}