各位大虾帮忙解决的个问题,在线等, 谢谢了!有一个表格原始有一行,其中的一个td中有text ,text的onchange 属性起作用, 在js中动态添加了一行,但text的setAttribute("onchange","countWeight()")的时候不起作用源码如下: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="MyKPIDetail3_T.aspx.vb" Inherits="MyKPIDetail3_T" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<style type ="text/css" >
.td0{width:500px;}
.td1{width:80px;}
.td2{width:100px;}
.td3{width:200px;}
.td4{width:100px;}
</style>
<script language ="javascript" type ="text/javascript" >
var linenum = 1
var strvalue;
var strtext;
function Add_tr()
{
if (linenum ==1)
{
getoption ();
}
linenum =linenum +1;
var tableobj = document .getElementById ("table1");
var trobj = document .createElement ("tr");
// 添加td0
//var tdobj0 = trobj .insertCell(0);
var tdobj0 = document .createElement ("td");
tdobj0 .setAttribute ("class","td0");
var textareaobj0 = document .createElement ("textarea");
textareaobj0.setAttribute ("id","ta_line"+linenum );
textareaobj0.setAttribute ("name","ta_line"+linenum );
textareaobj0 .setAttribute ("cols","35");
textareaobj0 .setAttribute ("rows","2");
tdobj0 .appendChild(textareaobj0 );
trobj .appendChild (tdobj0 );
// 添加td1
//var tdobj1 = trobj .insertCell(0);
var tdobj1 = document .createElement ("td");
tdobj1 .setAttribute ("class","td1");
var textobj1 = document .createElement ("input");
textobj1.setAttribute ("id","tb_line"+linenum );
textobj1.setAttribute ("name","tb_line"+linenum );
textobj1.setAttribute ("runat","server");
textobj1.setAttribute ("type","text");
textobj1.setAttribute ("onchange","countWeight()");
tdobj1 .appendChild(textobj1 );
trobj .appendChild (tdobj1 );
// 添加td2
//var tdobj2 = trobj .insertCell(1);
var tdobj2 = document .createElement ("td");
tdobj2 .setAttribute ("class","td2");
var lableobj2 = document .createElement ("span");
lableobj2.setAttribute ("id","lb_line"+linenum );
tdobj2 .appendChild(lableobj2 );
trobj .appendChild (tdobj2 );
// 添加td3
//var tdobj3 = trobj .insertCell(2);
var tdobj3 = document .createElement ("td");
tdobj3 .setAttribute ("class","td3");
var ddlobj3 = document .createElement ("select");
ddlobj3.setAttribute ("id","ddl_line"+linenum );
ddlobj3.setAttribute ("name","ddl_line"+linenum );
tdobj3 .appendChild(ddlobj3 );
trobj .appendChild (tdobj3 );
// 添加td4
//var tdobj4 = trobj .insertCell(3);
var tdobj4 = document .createElement ("td");
tdobj4 .setAttribute ("class","td4");
var buttonobj4 = document .createElement ("input");
buttonobj4.setAttribute ("id","bt_line"+linenum );
buttonobj4.setAttribute ("name","bt_line"+linenum );
buttonobj4 .setAttribute ("type","submit");
buttonobj4 .setAttribute ("value","删除");
tdobj4 .appendChild(buttonobj4 );
trobj .appendChild (tdobj4 );
//tableobj .appendChild (trobj );
//if(document .all)tableobj .outerHTML = tableobj .outerHTML ;
tableobj .firstChild .appendChild (trobj);
setoption ("ddl_line"+linenum );
}
function getoption()
{
var sel = document .all["ddl_line1"];
strvalue = new Array ();
strtext = new Array ();
for (var i=0;i<sel.length;i++)
{
strvalue .push(sel[i].value);
strtext .push (sel[i].text);
};
};
function setoption(obj)
{
var sel = document .all[obj];
for (var i=0;i<strvalue .length;i++)
{
sel[i] = new Option(strtext [i] ,strvalue [i]);
}
};
function countWeight()
{
alert(linenum );
var WeightT = 0;
for (var i=1 ;i<= linenum ;i++)
{
if (document .all["tb_line"+i].value == "" || document .all["tb_line"+i].value ==null)
{ }
else
{
var weight = parseInt(document .all["tb_line"+i].value)
if(weight<=100 && weight >0)
{
WeightT += parseInt(document .all["tb_line"+i].value);
}
else
{
alert ("权重必须是0到100之间的数字!");
}
}
}
document .all["lb_weight"].innerHTML = WeightT ;
};
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id ="table1" style="width: 100%;">
<tr>
<td class ="td0 ">
<textarea id="ta_line1" name ="ta_line1" runat ="server" cols="35" rows="2"></textarea>
</td>
<td class ="td1 ">
<input id="tb_line1" name ="tb_line1" runat ="server" type="text" onchange="countWeight()"/>
</td>
<td class ="td2 ">
<span id="lb_line1" runat ="server" ></span>
</td>
<td class ="td3 ">
<select id="ddl_line1" name = "ddl_line1" runat ="server" >
</select>
</td>
<td class ="td4 ">
<input id="bt_line1" name ="bt_line1" runat ="server" type="button" value="删除" />
</td>
</tr>
</table>
<br /><br />
<input type = "button" id ="bt_addtr" onclick ="Add_tr()" value="添加一行"/>
<span id = "lb_weight"></span>
</div>
</form>
</body>
</html>
<head runat="server">
<title>无标题页</title>
<style type ="text/css" >
.td0{width:500px;}
.td1{width:80px;}
.td2{width:100px;}
.td3{width:200px;}
.td4{width:100px;}
</style>
<script language ="javascript" type ="text/javascript" >
var linenum = 1
var strvalue;
var strtext;
function Add_tr()
{
if (linenum ==1)
{
getoption ();
}
linenum =linenum +1;
var tableobj = document .getElementById ("table1");
var trobj = document .createElement ("tr");
// 添加td0
//var tdobj0 = trobj .insertCell(0);
var tdobj0 = document .createElement ("td");
tdobj0 .setAttribute ("class","td0");
var textareaobj0 = document .createElement ("textarea");
textareaobj0.setAttribute ("id","ta_line"+linenum );
textareaobj0.setAttribute ("name","ta_line"+linenum );
textareaobj0 .setAttribute ("cols","35");
textareaobj0 .setAttribute ("rows","2");
tdobj0 .appendChild(textareaobj0 );
trobj .appendChild (tdobj0 );
// 添加td1
//var tdobj1 = trobj .insertCell(0);
var tdobj1 = document .createElement ("td");
tdobj1 .setAttribute ("class","td1");
var textobj1 = document .createElement ("input");
textobj1.setAttribute ("id","tb_line"+linenum );
textobj1.setAttribute ("name","tb_line"+linenum );
textobj1.setAttribute ("runat","server");
textobj1.setAttribute ("type","text");
textobj1.setAttribute ("onchange","countWeight()");
tdobj1 .appendChild(textobj1 );
trobj .appendChild (tdobj1 );
// 添加td2
//var tdobj2 = trobj .insertCell(1);
var tdobj2 = document .createElement ("td");
tdobj2 .setAttribute ("class","td2");
var lableobj2 = document .createElement ("span");
lableobj2.setAttribute ("id","lb_line"+linenum );
tdobj2 .appendChild(lableobj2 );
trobj .appendChild (tdobj2 );
// 添加td3
//var tdobj3 = trobj .insertCell(2);
var tdobj3 = document .createElement ("td");
tdobj3 .setAttribute ("class","td3");
var ddlobj3 = document .createElement ("select");
ddlobj3.setAttribute ("id","ddl_line"+linenum );
ddlobj3.setAttribute ("name","ddl_line"+linenum );
tdobj3 .appendChild(ddlobj3 );
trobj .appendChild (tdobj3 );
// 添加td4
//var tdobj4 = trobj .insertCell(3);
var tdobj4 = document .createElement ("td");
tdobj4 .setAttribute ("class","td4");
var buttonobj4 = document .createElement ("input");
buttonobj4.setAttribute ("id","bt_line"+linenum );
buttonobj4.setAttribute ("name","bt_line"+linenum );
buttonobj4 .setAttribute ("type","submit");
buttonobj4 .setAttribute ("value","删除");
tdobj4 .appendChild(buttonobj4 );
trobj .appendChild (tdobj4 );
//tableobj .appendChild (trobj );
//if(document .all)tableobj .outerHTML = tableobj .outerHTML ;
tableobj .firstChild .appendChild (trobj);
setoption ("ddl_line"+linenum );
}
function getoption()
{
var sel = document .all["ddl_line1"];
strvalue = new Array ();
strtext = new Array ();
for (var i=0;i<sel.length;i++)
{
strvalue .push(sel[i].value);
strtext .push (sel[i].text);
};
};
function setoption(obj)
{
var sel = document .all[obj];
for (var i=0;i<strvalue .length;i++)
{
sel[i] = new Option(strtext [i] ,strvalue [i]);
}
};
function countWeight()
{
alert(linenum );
var WeightT = 0;
for (var i=1 ;i<= linenum ;i++)
{
if (document .all["tb_line"+i].value == "" || document .all["tb_line"+i].value ==null)
{ }
else
{
var weight = parseInt(document .all["tb_line"+i].value)
if(weight<=100 && weight >0)
{
WeightT += parseInt(document .all["tb_line"+i].value);
}
else
{
alert ("权重必须是0到100之间的数字!");
}
}
}
document .all["lb_weight"].innerHTML = WeightT ;
};
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id ="table1" style="width: 100%;">
<tr>
<td class ="td0 ">
<textarea id="ta_line1" name ="ta_line1" runat ="server" cols="35" rows="2"></textarea>
</td>
<td class ="td1 ">
<input id="tb_line1" name ="tb_line1" runat ="server" type="text" onchange="countWeight()"/>
</td>
<td class ="td2 ">
<span id="lb_line1" runat ="server" ></span>
</td>
<td class ="td3 ">
<select id="ddl_line1" name = "ddl_line1" runat ="server" >
</select>
</td>
<td class ="td4 ">
<input id="bt_line1" name ="bt_line1" runat ="server" type="button" value="删除" />
</td>
</tr>
</table>
<br /><br />
<input type = "button" id ="bt_addtr" onclick ="Add_tr()" value="添加一行"/>
<span id = "lb_weight"></span>
</div>
</form>
</body>
</html>
解决方案 »
- 各位帮下忙,有关ztree,帮帮忙吧!!
- [内附简单测试源码]js 获取值8-11 并限制 INPUT 各种事件 输入的值不能小于8 大于11
- 急急急,请问javascript数组的问题?
- 关于省市的javascript代码,怎么把他们分成htm+js
- 有关Iframe的一个问题,百思不得其解,拜托各位啦!!!
- javascript里怎么样得到坐标?
- 关于对象和变量的问题
- 请教frame的问题!
- <body onload=javascript:window.open>
- 作用域问题,帮忙看下可好?给个详细解释
- 怎么让如果input为空就不提交表单?
- 修改火狐兼容问题啊!!! 谁会来看看,很锻炼你的技术啊!!!
用
document.getElementById("").onchange=function(){}
alert('User clicked on "foo."');
});
另外可以用live(type, [data], fn)
概述
jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。这个方法是基本是的 .bind() 方法的一个变体。使用 .bind() 时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有。为此需要再使用一次 .bind() 才行。$('.clickme').live('click', function() {
alert("Live handler called.");
});