【问题标题】:How to write the for loop in javascript [closed]如何在javascript中编写for循环[关闭]
【发布时间】:2016-05-06 16:13:36
【问题描述】:

从这段代码中,我在 get-employee.php 页面中编写了选择查询,我得到了这个页面的答案,之后我返回了上一页(home.php)的数据。从这个页面我在此标记之前为 javascript 编写 for 循环 class="col-md-3" 我想打开 for 循环并附加 class="Under_Manager" 的值p>

从这段代码中我可以得到这样的错误 SyntaxError: expected expression, got '}'

<script type="text/javascript">
   $(document).ready(function(){
       $('.getEmployee').click(function(){
          var emp_id = $(this).attr("rel");
          $.ajax({
             type:'POST',
             url :"get-employee.php",
             data : { emp_id : emp_id},
             success: function(data) {
                 var res=jQuery.parseJSON(data);// convert the json
                 console.log(res);
                 if(res['status']=="success"){
                   var htmlString='';                                 
                   var htmlString = '<section class="content-header"><h1>Employee</h1></section><!-- Main content --><section class="content"><div class="row"><div class="col-xs-12"><div class="box"><div class="row" style="margin:10px">'+$.each( res['data'], function( key, value ) {+'<div class="col-md-3"><!-- Widget: user widget style 1 --><div class="box box-widget widget-user"><!-- Add the bg color to the header using any of the bg-* classes --><div class="widget-user-header" style="background-color: red;color:#fff"><h3 class="widget-user-username">Soundharajan</h3><h5 class="widget-user-desc">Manager</h5></div><div class="widget-user-image"><img class="img-circle" src="../TV/php/upload/unknown-img.jpg" alt="User Avatar"></div><div class="box-footer"><div class="row"><div class="col-sm-6 border-right"><div class="description-block"><h5 class="description-header">9862626427</h5><span class="description-text">Mobile</span></div><!-- /.description-block --></div><!-- /.col --><div class="col-sm-6"><div class="description-block"><h5 class="description-header">BE</h5><span class="description-text">Education</span></div><!-- /.description-block --></div><!-- /.col --></div><!-- /.row --></div><button type="button" data-loading-text="Loading..." class="btn btn-primary btn-block view_employee" style="background-color: red;color:#fff;border-color:red"> View Task </button></div><!-- /.widget-user --></div></div></div></div>'+});+'</div></section><!-- /.section -->'

                       
                   $(".Under_Manager").prepend(htmlString);
                        
                 }else{
                   console.log('erorr');
                 }
            },
            error:function(exception){
               alert('Exeption:'+exception);
            }
        }); 
     });
   });
</script>
    
    
<!--get-employee.php-->
      
      
<?php
session_start();
include('dbconfig.php');
if(empty($_SESSION['email'])){
  header('Location:login.php');
}
$userlevel = $_SESSION['is_user_type'];
$emp_id  = $_POST['emp_id'];
$sql=mysql_query("SELECT * FROM task_employee WHERE emp_underon ='$emp_id'");
$data = array();
while($row=mysql_fetch_assoc($sql)){
	$data[] = $row;
}
$count = sizeof($data);
if($count > 0){ 
    $return=array('status'=>'success','count'=>sizeof($data),'data'=>$data);
	 echo json_encode($return);
}else{
		$return=array('status'=>'error'.mysql_error(),'count'=>sizeof($data),'data'=>$data);
	 echo json_encode($return);
}
?>
  &lt;div class="Under_Manager"&gt;&lt;/div&gt;

【问题讨论】:

  • 您好像忘记提问了。
  • 只是想留下一些提示 - 确保您正在通过 jshint.com 等工具验证所有 JavaScript 和 HTML,并考虑使用 Handlebars JS(或类似的东西)来创建 HTML 模板,从而避免JavaScript 中包含大量 HTML 字符串(被认为是一种非常糟糕的做法)。
  • 没有行号?没有提示错误在哪里?不需要的 PHP 与 JavaScript 混合?取出您的 RENDERED HTML,复制 JavaScript 并找出语法错误。 jsbeautifier.orgjshint.com 等工具可以提供帮助。
  • 我想错误发生在var res=jQuery.parseJSON(data); - 检查data 是否包含您期望的内容。
  • 我闻到了 SQL 注入的味道。

标签: javascript jquery


【解决方案1】:

$.each() 不返回回调函数所做的事情,您需要使用$.map,然后使用.join() 将所有结果组合回一个字符串。

但更简单的方法是将循环从串联中取出,而是附加到循环中的字符串。

var htmlString = '<section class="content-header"><h1>Employee</h1></section><!-- Main content --><section class="content"><div class="row"><div class="col-xs-12"><div class="box"><div class="row" style="margin:10px">';
$.each( res['data'], function( key, value ) {
    htmlString += '<div class="col-md-3"><!-- Widget: user widget style 1 --><div class="box box-widget widget-user"><!-- Add the bg color to the header using any of the bg-* classes --><div class="widget-user-header" style="background-color: red;color:#fff"><h3 class="widget-user-username">Soundharajan</h3><h5 class="widget-user-desc">Manager</h5></div><div class="widget-user-image"><img class="img-circle" src="../TV/php/upload/unknown-img.jpg" alt="User Avatar"></div><div class="box-footer"><div class="row"><div class="col-sm-6 border-right"><div class="description-block"><h5 class="description-header">9862626427</h5><span class="description-text">Mobile</span></div><!-- /.description-block --></div><!-- /.col --><div class="col-sm-6"><div class="description-block"><h5 class="description-header">BE</h5><span class="description-text">Education</span></div><!-- /.description-block --></div><!-- /.col --></div><!-- /.row --></div><button type="button" data-loading-text="Loading..." class="btn btn-primary btn-block view_employee" style="background-color: red;color:#fff;border-color:red"> View Task </button></div><!-- /.widget-user --></div>';
});
htmlString += '</div></div></div></div></section><!-- /.section -->';

【讨论】:

  • 哦谢谢我亲爱的@Barmar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 2021-03-13
  • 1970-01-01
  • 2010-09-07
  • 2010-09-08
  • 2022-01-27
相关资源
最近更新 更多