谁帮我改进一下下面的代码,提高运行速度,100分全给他<meta content="False" name="vs_snapToGrid"> <meta content="False" name="vs_showGrid"> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"><script language="JavaScript"> //================================================================== function btnMoveTo_onclick(From, To)//From,To都为<select>的ID号 { var i; var oItem; var sel = false;
for(i=0;i< From.options.length;i++) { oItem = From.options( i ); if (oItem.selected) { sel = true; oItem=document.createElement("OPTION"); oItem.value = From.options(i).value; oItem.text = From.options(i).text;
slt += "<option value='"+i+"'>"+i+"</option>";
}slt +="</select>";document.all.obj.innerHTML = slt;举例说就这样,速度会快很多很多...
不过 4000条数据还是太多了
<meta content="False" name="vs_showGrid">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"><script language="JavaScript">
//==================================================================
function btnMoveTo_onclick(From, To)//From,To都为<select>的ID号
{
var i;
var oItem;
var sel = false;
for(i=0;i< From.options.length;i++)
{
oItem = From.options( i );
if (oItem.selected)
{
sel = true;
oItem=document.createElement("OPTION");
oItem.value = From.options(i).value;
oItem.text = From.options(i).text;
To.add(oItem);
From.options[i] = null;
i--;
}
}
if (sel == false)
{
alert ('你还没有选择任何项目');
}
}
//==================================================================
function btnMoveAll_onclick(From, To)//From,To都为<select>的ID号
{
for(i=0;i< From.options.length;i++)
{
oItem=document.createElement("OPTION");
oItem.value = From.options(i).value;
oItem.text = From.options(i).text;
To.add(oItem);
From.options[i] = null;
i--;
}
}function onload_click()
{
var i;
for(i=0;i<4000;i++)
{
oItem=document.createElement("OPTION");
oItem.value = "1234";
oItem.text = "1234";
TelFrom.add(oItem);
}
}
//==================================================================
</script>
</HEAD>
<body LANGUAGE="javascript" onload="onload_click()">
<P><FONT face="宋体"></FONT> </P>
<table height="150" width="400" border="0">
<tr hight="20"><td align="center">待选</td><td></td><td align="center">已选</td></tr>
<tr hight="130">
<td width="185"><font face="宋体"><select id="TelFrom" style="width:150;font-size:9pt" multiple size="9"></select>
</font>
</td>
<td width="30">
<table width="30" border="0">
<tr>
<td width="30"><input id="Button1" onclick="javascript:btnMoveTo_onclick(TelFrom,TelTo)" type="button"
value=" > " name="Button1"></td>
</tr>
<tr>
<td width="30"><input id="Button2" onclick="javascript:btnMoveAll_onclick(TelFrom,TelTo)" type="button"
value="全选" name="Button2"></td>
</tr>
<tr>
<td width="30"><input id="Button3" onclick="javascript:btnMoveTo_onclick(TelTo,TelFrom)" type="button"
value=" < " name="Button3"></td>
</tr>
<tr>
<td width="30"><input id="Button4" onclick="javascript:btnMoveAll_onclick(TelTo,TelFrom)" type="button"
value="全删" name="Button4"></td>
</tr>
</table>
</td>
<td width="185"><select id="TelTo" style="width:150;font-size:9pt" multiple size="9" name="TelTo"></select></td>
</tr>
</table>
</form>
</body>
</HTML>
--------------------
function btnMoveAll_onclick(From, To)//From,To都为<select>的ID号
{
var htmlStr = ""
for(i=0;i< From.options.length;i++)
{
htmlStr += "<option value='" + From.options(i).value +"'>"+ From.options(i).text +"</option>"
From.options[i] = null;
i--;
}
To.insertAdjacentHTML("beforeEnd", htmlStr)
}function onload_click()
{
var i;
var html2add = ""
for(i=0;i<4000;i++)
{
html2add += '<option value="'+i+'">'+i+'</option>'
}
mySelectObj.insertAdjacentHTML("beforeEnd", html2add)
}
------------------
function onload_click()
{
var i;
var html2add = ""
for(i=0;i<4000;i++)
{
html2add += '<option value="'+i+'">'+i+'</option>'
}
TelFrom.outerHTML = TelFrom.outerHTML.replace(/<\/select>/i,"")+html2add+"</select>"
}
我把mySelectObj改成TelFrom不会报错,但可选项里都出不来东西,好象是TelFrom.insertAdjacentHTML("beforeEnd", html2add)这一句没起到作用