我有一个jquery对话框,我正在显示复选框并且它是硬编码的。当前显示的复选框数量固定为硬编码数据中存在。现在我有一个要求,我需要从服务器实现的数据动态显示这些复选框在java中使用servlet,但我不知道如何从servlet中检索数据并将其作为复选框动态显示在对话框中。
单击链接按钮时,对话框将打开..
这是我的代码,其中包含硬编码复选框和dilaogue框以及链接按钮点击事件..
var $calltype = $('<div></div>')
.html('<form id="calltype" action=""><input type="checkbox" id="LOCAL" name="LOCAL" value="LOCAL" />LOCAL<br /><input type="checkbox" name="STD" id="STD" value="STD" /> STD <br /><input type="checkbox" name="ISD" id="ISD" value="ISD" />ISD<br /><input type="checkbox" name="INCOMING" id="INCOMING" value="INCOMING" />INCOMING<br /><input type="checkbox" name="INET" id="INET" value="INET" />INET<br /></form>')
.dialog({
autoOpen: false,
title: 'Select Calltype',
buttons: {
"Submit": function() { $('form#calltype').submit();},
"Cancel": function() {$(this).dialog("close");}
}
});
$('#callltype').click(function(evt) {
selcalltype="";
$calltype.dialog('open');
evt.preventDefault();
// prevent the default action, e.g., following a link
return false;
});
任何帮助将受到高度赞赏.. 提前谢谢..
答案 0 :(得分:0)
使用.on()
由于元素是动态添加的,因此您无法直接绑定事件。您必须使用Event Delegation。
$(document).on('click','#calltype',function(evt) {
selcalltype="";
$calltype.dialog('open');
evt.preventDefault();
// prevent the default action, e.g., following a link
return false;
});
而您的id
为calltype
而非callltype
额外l
<强>语法强>
$( elements ).on( events, selector, data, handler );
答案 1 :(得分:0)
使用on()进行事件委派,例如
$(document).on('click','#calltype',function(evt) {
selcalltype="";
$calltype.dialog('open');
evt.preventDefault();
// prevent the default action, e.g., following a link
return false;
});
你还使用 $('#callltype'),但它应该是 $('#calltype'),如果你change the id
那么你的代码< strong>也有效