jquery不能绑定事件

calky 2011-12-17 11:24:39
function tickettype(num){
if(num==1){
$('#Order_details').html('<table id="tab_1" width="100%" border="0" cellspacing="0" cellpadding="0" class="order-table"><tr><td>登机者姓名:</td><td>出发日期:</td></tr><tr><td><input type="text" name="" id=""/></td><td><input type="text" name="DepartureDate" id="DepartureDate"/></td></tr><tr><td>起始地:</td><td>目的地:</td></tr><tr><td><input type="text" name="from" id="from"/></td><td><input type="text" name="to" id="to"/></td></tr><tr><td>机票类型:</td><td>舱位类型:</td></tr><tr><td><select id=""><option value="Adults">Adults</option><option value="Children">Children</option></select></td><td><select id=""><option value="economy">economy</option><option value="business">business</option><option value="allCabins">allCabins</option></select></td></tr><tr><td><input type="button" id="return" value="返程" /></td><td><input type="button" id="nexts" value="下一张" /></td><td><input type="button" id="cancel" value="取消" /></td></tr></table>');
}
num++;

$('#cancel').unbind();
$('#cancel').click(function(){
alert(111);
tickettype(num);
});

$('#return').unbind();
$('#return').click(function(){
$('table:last tr:eq(6) td:lt(2)').remove();
$('#Order_details').append('<table id="tab_'+num+'" width="100%" border="0" cellspacing="0" cellpadding="0" class="order-table"><tr><td>登机者姓名:</td><td>出发日期:</td></tr><tr><td><input type="text" name="" id=""/></td><td><input type="text" name="DepartureDate" id="DepartureDate"/></td></tr><tr><td>起始地:</td><td>目的地:</td></tr><tr><td><input type="text" name="from" id="from"/></td><td><input type="text" name="to" id="to"/></td></tr><tr><td>机票类型:</td><td>舱位类型:</td></tr><tr><td><select id=""><option value="Adults">Adults</option><option value="Children">Children</option></select></td><td><select id=""><option value="economy">economy</option><option value="business">business</option><option value="allCabins">allCabins</option></select></td></tr><tr><td></td><td><input type="button" id="nexts" value="下一张" /></td><td><input type="button" id="cancel" value="取消" /></td></tr></table>');
tickettype(num);
});

$('#nexts').unbind();
$('#nexts').click(function(){
$('table:last tr:eq(6) td:lt(2)').remove();
$('#Order_details').append('<table id="tab_'+num+'" width="100%" border="0" cellspacing="0" cellpadding="0" class="order-table"><tr><td>登机者姓名:</td><td>出发日期:</td></tr><tr><td><input type="text" name="" id=""/></td><td><input type="text" name="DepartureDate" id="DepartureDate"/></td></tr><tr><td>起始地:</td><td>目的地:</td></tr><tr><td><input type="text" name="from" id="from"/></td><td><input type="text" name="to" id="to"/></td></tr><tr><td>机票类型:</td><td>舱位类型:</td></tr><tr><td><select id=""><option value="Adults">Adults</option><option value="Children">Children</option></select></td><td><select id=""><option value="economy">economy</option><option value="business">business</option><option value="allCabins">allCabins</option></select></td></tr><tr><td><input type="button" id="return" value="返程" /></td><td><input type="button" id="nexts" value="下一张" /></td><td><input type="button" id="cancel" value="取消" /></td></tr></table>');
tickettype(num);
});
}


页面初始化调用这个函数,返程和下一张都能绑定上按钮单击事件,就取消只能绑定第一个表格,后面的绑定不了单击事件,求助
...全文
244 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ch_Chris 2013-08-28
  • 打赏
  • 举报
回复
引用 8 楼 calky 的回复:
jquery ui的时间插件楼下的谁用过、、 怎么绑定到新生成的input框上面 就是动态绑定时间控件、、
通过on可以为还没有生成的元素绑定事件。 $(parent).on("事件类型","本元素",function(event){}) 说明:该事件的绑定形式是借助于绑定父类元素然后进行筛选而实现的。 $(parent)是元素的任意父类元素可以为document.body元素 第二个参数为通过jQuery选择器选择的动态添加的本元素。 如果一个元素时直接添加到页面上时,$(parent)可以使用$(document.body) eg: $(function(){ $(xx).bind("click",function(event){ $(document.body).append("<div>dsdfs<div>"); }); $(document.body).on("click","div",function(event){ ..... }); }); 注意:只有on才能为动态生成的元素添加事件。
ch_Chris 2013-08-28
  • 打赏
  • 举报
回复
通过on可以为还没有生成的元素绑定事件。 $(parent).on("事件类型","本元素",function(event){}) 说明:该事件的绑定形式是借助于绑定父类元素然后进行筛选而实现的。 $(parent)是元素的任意父类元素可以为document.body元素 第二个参数为通过jQuery选择器选择的动态添加的本元素。 如果一个元素时直接添加到页面上时,$(parent)可以使用$(document.body) eg: $(function(){ $(xx).bind("click",function(event){ $(document.body).append("<div>dsdfs<div>"); }); $(document.body).on("click","div",function(event){ ..... }); }); 注意:只有on才能为动态生成的元素添加事件。
calky 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bbjbepzz 的回复:]

引用 8 楼 calky 的回复:

jquery ui的时间插件楼下的谁用过、、
怎么绑定到新生成的input框上面

就是动态绑定时间控件、、
$(input文本的ID).datepicker();
[/Quote]
后生成的文本框、、就绑定不上了
bbjbepzz 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 calky 的回复:]

jquery ui的时间插件楼下的谁用过、、
怎么绑定到新生成的input框上面

就是动态绑定时间控件、、
[/Quote]$(input文本的ID).datepicker();
calky 2011-12-19
  • 打赏
  • 举报
回复
jquery ui的时间插件楼下的谁用过、、
怎么绑定到新生成的input框上面

就是动态绑定时间控件、、
calky 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 p2227 的回复:]

页面新用js增加html dom后,再运行一次解除/绑定的函数
[/Quote]

您好,能详细点说吗?
我删除新增的table,是因为新增的问题而没绑定上事件吗?
p2227 2011-12-17
  • 打赏
  • 举报
回复
页面新用js增加html dom后,再运行一次解除/绑定的函数
calky 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rao3324180 的回复:]

把完整代码发出来
[/Quote]

这个就是完整的、html你加个div id='Order_details'就行
rao3324180 2011-12-17
  • 打赏
  • 举报
回复
把完整代码发出来
PerterPon 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 theforever 的回复:]

用$.live去绑定就行了。
[/Quote]

正解,LZ可以去看看live的源码,方法很巧妙
qq307023807 2011-12-17
  • 打赏
  • 举报
回复
$('#nexts').bind('click',function(){
  • 打赏
  • 举报
回复
用$.live去绑定就行了。

87,994

社区成员

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

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