赋值----怎么办----------急 在线等

liberationxin 2004-09-26 03:47:47
function dels()
{
sss=document.getElementsByName("radio1").length
if(confirm("你确定删除吗?")=="1")
{
if(sss>1)
{
for(j1=0;j1<sss;j1++)
{
if(document.getElementsByName("radio1")[j1].checked==true )
{

document.formess.clientid_2.value=document.formess.clientid_2.value+"^^"+document.getElementsByName("clientid")[j1].value
document.formess.orderform_2.value=document.formess.orderform_2.value+"^^"+document.getElementsByName("orderform")[j1].value
document.formess.yearsss_2.value=document.formess.yearsss_2.value+"^^"+document.getElementsByName("yearsss")[j1].value

}
}
}
}

}


每次有600 左右的数据进行判断 如果选中,则把值赋值相应的 text 框
如果选中很多,则速度太慢了,每次需要10几分钟
请问有什么好的办法可以提高速度
...全文
107 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liberationxin 2004-09-26
  • 打赏
  • 举报
回复
<script>
function dels()
{
sss=document.getElementsByName("radio1").length
if(confirm("你确定赋值吗?")=="1")
{
if(sss>1)
{
for(j1=0;j1<sss;j1++)
{
if(document.getElementsByName("radio1")[j1].checked==true )
{

document.formess.clientid_2.value=document.formess.clientid_2.value+"^^"+document.getElementsByName("clientid")[j1].value
document.formess.orderform_2.value=document.formess.orderform_2.value+"^^"+document.getElementsByName("orderform")[j1].value
document.formess.yearsss_2.value=document.formess.yearsss_2.value+"^^"+document.getElementsByName("yearsss")[j1].value

}
}
}
}

}
function selectall()
{
k=document.getElementsByName("radio1").length
for(k1=0;k1<k;k1++)
{document.getElementsByName("radio1")[k1].checked=true}
}
</script>
<body method=post >
<form name=formess method='post'>
<table align=center width=1470 border="1" frame=box id=mytbody1 >

<%for k1=1 to 600%>
<tr>
<td><nobr><input type=checkbox name=radio1>
<input type=text style='width:40px' name=clientid value="clientid"></td>
<td><nobr><input type=text style='width:80px' name=orderform value='<%=k1%>'></td>
<td><nobr><input type=text name=yearsss size=3 maxlength=4 value='<%=date()%>'>年</td>
</tr>
<%next%>
</table>
<td colspan=3><input type=button name=del value='赋值' onclick=dels()>
<input name=sadfdf onclick="selectall()" type=button value="全选">
<input type=hidden name=clientid_2><br>
<input type=text name=orderform_2 size=200>
<input type=hidden name=yearsss_2>
</form>
</BODY>
</HTML>
<script>
全选之后再赋值,因为这是一个公司的排产计划,需要把一天数据每次作判断
梅雪香 2004-09-26
  • 打赏
  • 举报
回复
如果要使用一个变量 或者 对象多次,应该定义出来都放在循环里会变慢很多的
梅雪香 2004-09-26
  • 打赏
  • 举报
回复
function dels()
{
var frm=document.formess;
var orderform =document.getElementsByName("orderform");
var objs=document.getElementsByName("radio1");
var yearsss =document.getElementsByName("yearsss")
var len=objs=document.length
if(confirm("你确定删除吗?"))
{
for(i=0;i<len;i++){
if(objs[i].checked){
frm.clientid_2.value=frm.clientid_2.value+"^^"+objs[i].value
frm.orderform_2.value=frm.orderform_2.value+"^^"+orderform[i].value
frm.yearsss_2.value=frm.yearsss_2.value+"^^"+yearsss[i].value
}
}
}
}
如果如你所说,有六百行的话,不建议这么做,软件的使用都是不是有耐心把六百行整个看一遍呢,如果是我,我不希望这样,我更希望看到一行删除一行,这样工作可以分开来做吧
心云意水 2004-09-26
  • 打赏
  • 举报
回复
sorry,两个帖子发差了
你能不能把你的代码给个例子看看?
也许,你能用的到下边的思路:
<!--
All Files are Designed & Writen by Windy_sk, you can use it freely but ...
YOU MUST KEEP THIS ITEM !
Email: <a href="mailto:windy_sk@126.com">windy_sk@126.com</a>
-->
<style>
BODY {FONT-SIZE: 9pt;}
table {FONT-SIZE: 9pt;}
</style>

<input type=checkbox id=checkall onclick=check_all()><label for=checkall>全部选择</label>    
线程数:<input type=text id=the_thread value=10 size=2 maxlength=2 style="height:15px; font-size:12px;padding:0px">
<br>
<table border=0>
<tr><td style="width:100px;over-flow:hidden"><span id=show></span></td>
<td style="width:400px;">
<table id=bar style="width:90%;height:10px;border:1px black solid;display:none"><tr>
<td id=bar1 bgcolor=skyblue style="width:0%"></td>
<td id=bar2 style="width:100%"></td>
</tr></table>
</td></tr>
<tr><td colspan=2><span id=result></span></td></tr>
</table>
<script language="JavaScript">

var total = 505;
var thread_num;
var pre_thread;
var thread = new Array();
var completed = 0;
var start_time = null;

for(i=0;i<total;i++)document.write("<input type=checkbox id=cbox>");

function init_para(){
thread_num = parseInt(the_thread.value);
if(isNaN(thread_num)) thread_num = 10;
pre_thread = Math.floor(total/thread_num);
result.innerText = "";
bar1.style.width = "0%";
bar2.style.width = "100%";
bar.style.display = "";
}

function check_all(){
checkall.disabled = true;
init_para();
for(var i=0;i<thread_num;i++){
thread[i]=[setInterval("thread["+i+"][1]<pre_thread?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0];
}
thread[i]=[setInterval("thread["+i+"][1]<total%thread_num?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0];
}

function check_unit(num){
if(completed==0)start_time=new Date;
cbox[num].checked=checkall.checked;
completed++;
var cur_rate = Math.round(completed*100/total);
show.innerText = completed + "/" + total + " : " + cur_rate + "%";
bar1.style.width = cur_rate + "%";
bar2.style.width = (100-cur_rate) + "%";
if(completed == total){
completed = 0
checkall.disabled = false;
result.innerText = "("+total+"单元/"+thread_num+"线程,总共耗时:"+((new Date)-start_time)+" ms)";
}
}
</script>
心云意水 2004-09-26
  • 打赏
  • 举报
回复
不知道你要的是不是这个
<select name="gwd_ve_model" class="textread" id="gwd_ve_model" onChange="return false;" >
<option value="" selected></option>
</select>
<script language=JavaScript>
gwd_ve_model.options[0].value="test"
gwd_ve_model.options[0].text="test"
alert(document.body.outerHTML)
</script>
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-09-26 03:47
社区公告
暂无公告