jQuery 绑定和 getJSON 组合的行为不符合预期
我正在加载一个 jQuery UI 对话框,通过 AJAX 调用获得的 HTML 末尾是下面的脚本。我希望它绑定到我定义的按钮并在单击时运行,但它不运行。如果我将函数的内容更改为除了警报之外什么都没有,它就可以正常运行。 JSLint 没有帮助我找到我的问题。谁能告诉我我错过了什么?
<script type="text/javascript">
$("#runbutton").bind("click",function()
{
$("#loading").show();
$.getJSON("web.air.sum.rpt.php","json=true&whse="+$("#whse").val()+"&date1="+$("#date1").val()+"&date2="+$("#date2").val()+"&status="+$("#status").val()+"&caby="+$("#caby").val()+"&catarg="+$("#catarg").val(),function(data, textStatus)
{
$("#results").html("<table width='100%' id='restbl'></table>");
$("#loading").hide();
$.each(data,function(key,val)
{
$("#restbl")
.append("<tr><th>AIR "+val.KEY+"</th><td>"+val.ACCDATE+" "+val.ACCTIME+"</td></tr>")
.append("<tr><th>Team Member</th><td>"+val.NAME+"</td></tr>");
.append("<tr><th>Target</th><td>"+val.TARDATE+"</td></tr>");
.append("<tr><th>Accident Description</th></tr><tr><td colspan='2'>"+val.ACCDESC+"</td></tr>");
.append("<tr><th>Corrective Action</th></tr><tr><td colspan='2'>"+val.CORRACT+"</td></tr>");
.append("<tr><td></td><td>By "+val.VERBY+"</td></tr>");
.append("<tr><td colspan='2'><hr></td></tr>");
});
});
});
</script>
I am loading a jQuery UI dialog and at the end of the HTML that I get with an AJAX call is the script below. I expect it to bind to a button that I have defined and to run when clicked, however it does not run. If I change the contents of the function to nothing but an alert it runs fine. JSLint has not helped me to find my problem. Can anyone tell me what I am missing?
<script type="text/javascript">
$("#runbutton").bind("click",function()
{
$("#loading").show();
$.getJSON("web.air.sum.rpt.php","json=true&whse="+$("#whse").val()+"&date1="+$("#date1").val()+"&date2="+$("#date2").val()+"&status="+$("#status").val()+"&caby="+$("#caby").val()+"&catarg="+$("#catarg").val(),function(data, textStatus)
{
$("#results").html("<table width='100%' id='restbl'></table>");
$("#loading").hide();
$.each(data,function(key,val)
{
$("#restbl")
.append("<tr><th>AIR "+val.KEY+"</th><td>"+val.ACCDATE+" "+val.ACCTIME+"</td></tr>")
.append("<tr><th>Team Member</th><td>"+val.NAME+"</td></tr>");
.append("<tr><th>Target</th><td>"+val.TARDATE+"</td></tr>");
.append("<tr><th>Accident Description</th></tr><tr><td colspan='2'>"+val.ACCDESC+"</td></tr>");
.append("<tr><th>Corrective Action</th></tr><tr><td colspan='2'>"+val.CORRACT+"</td></tr>");
.append("<tr><td></td><td>By "+val.VERBY+"</td></tr>");
.append("<tr><td colspan='2'><hr></td></tr>");
});
});
});
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
.append() 函数后面有分号。这只应该是在最后一个之后才这样。
You have semicolons after your .append() functions. This should only be so after the last one.