繁体   English   中英

如何将参数传递给jQuery函数

[英]How pass a parameter to jQuery function

在这里,我使用此代码使用JSON创建HTML表,在我的Web程序中,我使用PHP生成了JSON ,现在我需要将JSON作为参数传递给上述函数,我该怎么做。

<script type="text/javascript">
    var data = [
  {
    "UserID": 1,
    "UserName": "rooter",
    "Password": "12345",
    "Country": "UK",
    "Email": "sac@gmail.com"

  },
  {
    "UserID": 2,
    "UserName": "binu",
    "Password": "123",
    "Country": "uk",
    "Email": "Binu@gmail.com"
  },
  {
    "UserID": 3,
    "UserName": "cal",
    "Password": "123",
    "Country": "uk",
    "Email": "cal@gmail.com"
  },
  {
    "UserID": 4,
    "UserName": "nera",
    "Password": "1234",
    "Country": "uk",
    "Email": "nera@gmail.com"
  },
  {
    "UserID": 4,
    "UserName": "nera",
    "Password": "1234",
    "Country": "uk",
    "Email": "nera@gmail.com"
  }
];
$(document).ready(function () {
    var html = '<table class="table table-striped">';
    html += '<tr>';
    var flag = 0;
    $.each(data[0], function(index, value){
        html += '<th>'+index+'</th>';
    });
    html += '</tr>';
     $.each(data, function(index, value){
         html += '<tr>';
        $.each(value, function(index2, value2){
            html += '<td>'+value2+'</td>';
        });
        html += '<tr>';
     });
     html += '</table>';
     $('body').html(html);
});
</script>

我可以使用PHPJSON值作为参数传递给此函数吗

您可以使用php标签作为参数传递

   <?php
$data = '[
  {
    "UserID": 1,
    "UserName": "rooter",
    "Password": "12345",
    "Country": "UK",
    "Email": "sac@gmail.com"

  },
  {
    "UserID": 2,
    "UserName": "binu",
    "Password": "123",
    "Country": "uk",
    "Email": "Binu@gmail.com"
  },
  {
    "UserID": 3,
    "UserName": "cal",
    "Password": "123",
    "Country": "uk",
    "Email": "cal@gmail.com"
  },
  {
    "UserID": 4,
    "UserName": "nera",
    "Password": "1234",
    "Country": "uk",
    "Email": "nera@gmail.com"
  },
  {
    "UserID": 4,
    "UserName": "nera",
    "Password": "1234",
    "Country": "uk",
    "Email": "nera@gmail.com"
  }
]';


?>

<script>
    $(document).ready(function () {
    var html = '<table class="table table-striped">';
    html += '<tr>';
    var flag = 0;

    var data2   =   <?php echo $data; ?>;
    $.each(data2[0], function(index, value){
        html += '<th>'+index+'</th>';
    });
    html += '</tr>';
     $.each(data2, function(index, value){
         html += '<tr>';
        $.each(value, function(index2, value2){
            html += '<td>'+value2+'</td>';
        });
        html += '<tr>';
     });
     html += '</table>';
     $('body').html(html);
     console.log(html);
});
    </script>

我建议只在php中创建表,以便在加载时在页面上,这对于seo和用户体验会更好。

但这是从php加载页面时无需发出ajax请求即可打印javascript数据的方式。

关键是<?= json_encode(array); ?> <?= json_encode(array); ?> json编码会将php数组/关联数组解析为json对象。

我在单个脚本标签中进行了此操作,以防解析或您的编辑器语法出错。

<?php                                                                                                             
$data = [                                                                                                         
  [ "UserID" => 1, "UserName" => "rooter", "Password" => "12345", "Country" => "UK", "Email" => "sac@gmail.com" ],
  [ "UserID" => 2, "UserName" => "binu", "Password" => "123", "Country" => "uk", "Email" => "Binu@gmail.com" ],   
];                                                                                                                
?>                                                                                                                
<script>data = <?= json_encode($data, JSON_NUMERIC_CHECK); ?></script>                                                                
$(document).ready(function () {                                                                                   
    var html = '<table class="table table-striped">';                                                             
    html += '<tr>';                                                                                               
    var flag = 0;                                                                                                 
    $.each(data[0], function(index, value){                                                                       
        html += '<th>'+index+'</th>';                                                                             
    });                                                                                                           
    html += '</tr>';                                                                                              
     $.each(data, function(index, value){                                                                         
         html += '<tr>';                                                                                          
        $.each(value, function(index2, value2){                                                                   
            html += '<td>'+value2+'</td>';                                                                        
        });                                                                                                       
        html += '<tr>';                                                                                           
     });                                                                                                          
     html += '</table>';                                                                                          
     $('body').html(html);                                                                                        
});                                                                                                               
</script>                                                                                                         

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM