请看一下这段代码 -
当我点击myLink时,我得到一个模态对话框窗口,显示如下定义的html。这个html包含一个按钮(id = test_button),当我点击这个按钮时,我想做一个ajax请求。 但它不起作用。所以为了测试它,我只是在做一个警报,但它不会工作。
还可以从test_button点击功能中更新现有的dom元素值(只填充表单)。
感谢您的帮助。
$('#myLink').click(function(event) {
event.preventDefault();
$('<div id="iContainer">Test: <input type="text" value="" id="test_text" />
<input type="button" id="test_button" value="click" /></div>').appendTo('body');
$("#iContainer").dialog({
width: 600,
modal: true,
close: function(event, ui) {
$("#iContainer").remove();
}
});
});
$('#test_button').click(function() {
alert('I am in Alert');
//alert($('#test_text').val());
});
答案 0 :(得分:2)
尝试Events/live:
$('#test_button').live("click", function(){
alert('test');
});
答案 1 :(得分:1)
问题是您在元素存在之前尝试附加单击处理程序。
如CMS所述,您可以使用.live(),也可以在$('#myLink')中添加点击处理程序.Click()函数
像这样:
$('#myLink').click(function(event) {
event.preventDefault();
$('<div id="iContainer">Test: <input type="text" value="" id="test_text" />
<input type="button" id="test_button" value="click" /></div>').appendTo('body');
$("#iContainer").dialog({
width: 600,
modal: true,
close: function(event, ui) {
$("#iContainer").remove();
}
});
$('#test_button').click(function() {
alert('I am in Alert');
//alert($('#test_text').val());
});
});