如何从servlet获取数据并在jquery对话框中动态显示为复选框

时间:2013-10-29 07:40:19

标签: jquery servlets checkbox jquery-dialog

我有一个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;
        });

任何帮助将受到高度赞赏.. 提前谢谢..

2 个答案:

答案 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;
});

而您的idcalltype而非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>也有效