Javascript new Option的怪問題
2008年6月4日
尚無評論
這兩天遇到一個怪問題
目前有一個功能在父頁 面上有一個select 清單
而選擇是會跳出一個子頁面的select 清單上選取
選後接加入,則會傳回父頁面上的select 清單之中
function return_data(form)
{
var isSelected=false;
var sel=form.user_list;
var parent_sel=window.opener.document.getElementById(“user_list”);
{
var isSelected=false;
var sel=form.user_list;
var parent_sel=window.opener.document.getElementById(“user_list”);
for(var i=sel.options.length-1;i>=0;i–) {
if(sel.options[i].selected) {
isSelected=true;
isHave=false;
for(var j=0;j<parent_sel.options.length;j++){
if(sel.options[i].value==parent_sel.options[j].value) {
isHave=true;
break;
}
}
if(!isHave) {
parent_sel.options[parent_sel.options.length]= new Option(sel.options[i].text,sel.options[i].value);
sel.options[i]=null;
} else sel.options[i]=null;
}
}
}
if(sel.options[i].selected) {
isSelected=true;
isHave=false;
for(var j=0;j<parent_sel.options.length;j++){
if(sel.options[i].value==parent_sel.options[j].value) {
isHave=true;
break;
}
}
if(!isHave) {
parent_sel.options[parent_sel.options.length]= new Option(sel.options[i].text,sel.options[i].value);
sel.options[i]=null;
} else sel.options[i]=null;
}
}
}
在執行時發現似乎無反應
一定要將 if(!isHave) { } 改成如下才行
parent_sel.options.length++;
parent_sel.options[parent_sel.options.length-1].text= sel.options[i].text;
parent_sel.options[parent_sel.options.length-1].value= sel.options[i].value;
sel.options[i]=null;
parent_sel.options[parent_sel.options.length-1].text= sel.options[i].text;
parent_sel.options[parent_sel.options.length-1].value= sel.options[i].value;
sel.options[i]=null;
真是怪異,在本頁執行new option() 就行,但由子頁執行 父頁就不行
暫時還找不到原因,如果有高手知情,再麻煩告知一下!!
近期留言