0

onclick がデータベースから値を取得し、javascript 変数に格納するボタンがあります。ここで、この変数値をチェックボックスとしてダイアログボックスに追加したいと思います.hereは、ディラオグボックスの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から受け取った値でフォームにa を追加し、それを(サイト div)usingにするには、コールバックでこのようなものを試すことができますajaxsuccessdilogjQuery uisuccess

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 に答える