0

我有一个 jquery 对话框,我在其中显示复选框并且它是硬编码的。当前显示的复选框数量固定为硬编码数据中存在的。现在我有一个要求,我需要从使用 servlet 从服务器端获得的数据动态显示这些复选框在java中,但我不知道如何从servlet中检索数据并将其作为复选框动态显示到对话框中。

单击链接按钮会打开对话框。

这是我的代码,其中包含硬编码的复选框和对话框以及链接按钮单击事件。

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

任何帮助将不胜感激..提前致谢..

4

2 回答 2

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

idcalltype不是callltype多余的l

句法

$( elements ).on( events, selector, data, handler );
于 2013-10-29T07:42:20.100 回答
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;
});

你也使用了 $('#calltype')但它应该是$('#calltype'),如果你change the id那么你的代码也可以工作

于 2013-10-29T07:42:49.680 回答