1

我有一个显示复选框的 jquery 对话框。这些复选框是硬编码的。现在我有一个要求,我需要从数据库中动态显示复选框。为了从数据库中获取复选框的值,我在 window.load() 上实现了 ajax 调用

$(window).load(function() {
        $.ajax({
            type: 'GET',
            url: 'Sites',
            success: function(data) {
                debugger;
                var city=JSON.parse(data);
            for(var i in city)
            {
              output ='<input type="checkbox"   id="'+city[i]+'" name="'+city[i]+'" value="'+city[i]+'" />'+city[i]+'<br />'
            }
            console.log(output)
            }
        });
    });

这里的数据以格式[Mumbai, Delhi, Bangalore]的形式存在,并且这些数据以 arraylist 的形式从 java servlet 中检索出来。

这是我在对话框中显示复选框的代码,但复选框值是硬编码的,我需要从 window.load 数据中动态显示。复选框名称、id 和值应该与从 window.load ajax 调用中获得的值相同。

这是我在 jquery 中的硬编码脚本..

var $dialog = $('<div></div>')
        .html('<form id="myform" action="">'+output+'</form>')
        .dialog({
            autoOpen: false,
            title: 'Select Sites',
            buttons: {
                "Submit": function() {  $('form#myform').submit();},
                "Cancel": function() {$(this).dialog("close");}
            }
        });
        });

这是我需要打开对话框的按钮单击..

 $('#ssites').click(function(evt) {
            variable="";
            $dialog.dialog('open');
            evt.preventDefault();
            // prevent the default action, e.g., following a link
            return false;
        });

任何帮助将不胜感激。

4

2 回答 2

2

''尝试这个..

$(window).load(function() {
        $.ajax({
            type: 'GET',
            url: 'Sites',
            success: function(data) {
                var city=data.city
                for(var i in city)
                {
                   var output='<input type="checkbox"   id="'+city[i]+'" name="'+city[i]+'" value="'+city[i]+'" />'+city[i]+'<br />'
                }
                consoloe.log(output)
            }
        });
    });
于 2013-10-29T11:47:46.223 回答
0

1)创建空的唯一div

<div id="content"></div>

2)加载和解析数据库数据。取决于输入格式 - html/json

success: function(data) { $("content").html(data); // or json parse }

3) 从#content创建对话框

于 2013-10-29T11:51:21.103 回答