2016-05-06 4 views
-6

Из этого кода я написал запрос на выбор в . Get-employee.php страница i получила ответ для этой страницы, после чего я возвращаю данные для предыдущей страницы (home.php). From эта страница я пишу в цикл для JavaScript до этого тега класса = «Col-мкр-3» я хочу открыть цикл и добавить значение для класса = «Under_Manager»Как написать цикл for в javascript

из этого кода я могу получить такую ​​ошибку SyntaxError: ожидаемое выражение, получено '}'

<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)){ 
 
\t $data[] = $row; 
 
} 
 
$count = sizeof($data); 
 
if($count > 0){ 
 
    $return=array('status'=>'success','count'=>sizeof($data),'data'=>$data); 
 
\t echo json_encode($return); 
 
}else{ 
 
\t \t $return=array('status'=>'error'.mysql_error(),'count'=>sizeof($data),'data'=>$data); 
 
\t echo json_encode($return); 
 
} 
 
?>
<div class="Under_Manager"></div>

+10

Кажется, что вы, возможно, забыли задать вопрос. – zzzzBov

+1

Просто хотите оставить несколько советов - убедитесь, что вы проверяете все свои JavaScript и HTML с помощью таких инструментов, как http://jshint.com/, и посмотрите на использование Handlebars JS (или что-то подобное) для создания HTML-шаблонов, тем самым избегая массивных строк HTML внутри JavaScript (считается очень плохой практикой). – Shakespeare

+0

Нет номера линии? НЕТ подскажите, где ошибка? Необработанный PHP, смешанный с JavaScript? Возьмите RENDERED HTML, скопируйте JavaScript и найдите синтаксическую ошибку. Такие инструменты, как http://jsbeautifier.org/ и http://jshint.com/, могут помочь. –

ответ

0

$.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 -->'; 
+0

Ohh Спасибо, мой дорогой @Barmar –

Смежные вопросы