jquery attr("onclick",function()) 自动触发onclick事件生成行,导致死循环

luoshiyindfj 2011-09-07 08:53:26

function createRowItem(rowId)
{
var rows=$("#tab_OrderDetail tr");
var rowLen=rows.length;
var rowN= rowId+1;
if(rowN==rowLen)
{
var tr=$("<tr>").append("<td>"+rowN+"</td><td><input type=\"text\" id=\"truckName_"+rowN+"\"/></td><td><input type=\"text\" id=\"truckCode_"+rowN+"\"/></td><td><select id=\"truckType_"+rowN+"\"><option >0</option></select></td><td><input type=\"text\" id=\"configuration_"+rowN+"\"/></td><td><input type=\"text\" id=\"price_"+rowN+"\"/></td><td><input type=\"text\" id=\"Amount_"+rowN+"\"/></td><td><input type=\"text\" id=\"totalMoney_"+rowN+"\"/></td><td><select id=\"consignType_"+rowN+"\"><option>0</option></select></td><td><input type=\"text\" id=\"consignTime_"+rowN+"\"/></td>");
tr.attr("id", (rowN));
$("#tab_OrderDetail").append(tr);
$("#consignTime_"+rowN+"").attr("onclick",createRowItem(rowN));
}else{ return;}
}

...全文
922 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyun817 2011-09-07
  • 打赏
  • 举报
回复
封装一下就行,function(){createRowItem(rowN)}

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){
$("#row_1").one("click",function(){addRow($(this).attr("id"))});
});

function addRow(rowid)
{
var nextRowid = "row_"+(rowid.split("_")[1]+1);
$($("#"+rowid).clone()).appendTo($("#test")).attr("id",nextRowid).one("click",function(){ addRow(nextRowid)});;
}
//]]>
</script>

<body>
<table id="test">
<tr id="row_1">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
</body>
luoshiyindfj 2011-09-07
  • 打赏
  • 举报
回复
奇怪,写在 html里面 onclick=\"createRowItem("+rowN+");\" 就OK了。 再琢磨琢磨。谢谢了。
三石-gary 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 luoshiyindfj 的回复:]

确实是这样,点击第一行之后,直接就循环的生成行,onclick事件没起到控制生成的作用。直接就触发了。有什么高见没有?
[/Quote]

想办法不放在里面也能实现就行了
luoshiyindfj 2011-09-07
  • 打赏
  • 举报
回复
确实是这样,点击第一行之后,直接就循环的生成行,onclick事件没起到控制生成的作用。直接就触发了。有什么高见没有?
三石-gary 2011-09-07
  • 打赏
  • 举报
回复
$("#consignTime_"+rowN+"").attr("onclick",createRowItem(rowN));只要点击就会造成死循环
showenxxx 2011-09-07
  • 打赏
  • 举报
回复
jquery里面事件绑定可以用
$("input").click(function(){
//do stuff
});

$("input").bind("click",function(){
//do stuff
});

$("input").live("click",function(){
//do stuff
});
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

52,780

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧