0

我有按钮,onclick 从数据库中获取值并存储到 javascript 变量中。现在我想将此变量值作为复选框添加到对话框中。这是我的对话框的 html 代码...

对话框的 HTML。

<input type="submit" name ="Select Sites" id="ssites" value="Select Sites">
   <div id="sites" title="Choose Sites">
<form action="" method="POST" id="sites">
</form>

这是我的脚本代码..

 var calltype;
   $('#ssites').click(function(evt){
     evt.preventDefault();
     $.ajax({
     url: "Calltype",              
     type: "GET", 
     success: function(data){
     calltype=data;

     var cb = $('<input/>', {
    'type':'checkbox',
    'name':'sites_radio', // so you can access it on server using this name
    'value':calltype // assumed "data" contains the value
});
$("#sites").append($('<label/>', { 'text':'CheckBox Label' }).prepend(cb))
.dialog({
    modal: true,
    buttons: {
        SUBMIT: function() {
            $(this).find('form').submit();
        }
    }
});
  },
  error:function(){
      console.log("AJAX request was a failure");
  }   
}); 

数据库中的复选框值在站点变量中...

请大家帮帮我。我不知道如何走得更远。

任何帮助都将受到高度赞赏..在此先感谢..

4

2 回答 2

0

首先 id 应该是唯一的..所以将您的表单 id 更改为

<form action="" method="POST" id="form-sites">


$.ajax({
 ...
success: function(data){
 $.each(data,function(i,v){
    $('<input />',{
         'type':'checkbox',
         'name':'someName',
         'value':'someValue'
     }).appendTo('#form-sites');
 }); 
},
...
 jQuery("#sites").dialog({
  modal: true,
  buttons: {
     SUBMIT: function() {
         $('#form-sites').submit();
     }
  }
});
于 2013-10-21T18:13:10.243 回答
0

HTML是不对的,问题有点令人困惑,但是checkbox在你的表单中添加一个从ajax(在success回调中)接收的值并使其(站点 div)成为一个dilogusing ,你可以在你的回调jQuery ui中尝试这样的事情success

success:function(data){
    var cb = $('<input/>', {
        'type':'checkbox',
        'name':'sites_radio', // so you can access it on server using this name
        'value':data // assumed "data" contains the value
    });
    $("#sites").append($('<label/>', { 'text':'CheckBox Label' }).prepend(cb))
    .dialog({
        modal: true,
        buttons: {
            SUBMIT: function() {
                $(this).find('form').submit();
            }
        }
    });
}

一个例子。

更新:(似乎你arraydata(在评论中提到)中有一个),所以你应该在你的success回调中使用这样的东西(更新的演示。

success:function(data){
    // assumed "data" contains following array
    // ['LOCAL', 'STD', 'ISD', 'INCOMING', 'INET'];
    $.each(data, function(k, v){
        var cb = $('<input/>', {
            'type':'checkbox',
            'name':'sites_radio',
            'value':v
        });

        $("#sites").append($('<label/>', {
            'style':'display:block',
            'text':v
        }).prepend(cb))
    });

    $('#sites').dialog({
        modal: true,
        buttons: {
            SUBMIT: function() {
                $(this).find('form').submit();
            }
        }
    });
}
于 2013-10-21T18:43:22.393 回答