2016-07-08 5 views
0

Я работаю над проектом и сталкиваюсь с модулем.Как я должен поместить данные из ajax-вызова в скрытое поле div

стр.1
пользователь должен искать в строке поиска, которая будет принимать его на странице 2.

PAGE2
На странице 2 все надуманные результаты которые будут отображаться пользователю в Див-х. У каждого результата есть связанный с ним флажок.

, когда я нажимаю на кнопку «Добавить в сравнение», выполняется вызов ajax и выбор выбранного результата должен отображаться в скрытом div.

Моя проблема заключается в том, что он показывает только первый результат в скрытом div и не работает с другим результатом. enter image description here

Мой код страницы 2

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    var check = $('#compare').val(); 
    $("#compare").change(function() { 
if(this.checked) {   
    $.ajax({ 
     type: 'POST', 
     url: 'compare.php', 
     dataType : 'JSON', 
     data:{value : check}, 
     success: function(data) 
     { 
      console.log(data); 
      $('#compare_box').html(data);    
     } 
    });  

    $("#compare_box").show(); 
} 
else 
{ 
    $("#compare_box").hide(); 
}  
}); 
}); 
</script> 
</head> 
<body> 
<?php 
$query = $_GET['search_bar']; 
$query = "call fetch_data('$query')"or die(mysqli_error($conn)); 
$result = mysqli_query($conn,$query); 
while($row = mysqli_fetch_array($result)) 
{ 
    $id = $row['course_id']; 
$title = $row['course_title']; 
$description = $row['course_description']; 
$course_url = $row['course_url']; 
$video_url = $row['course_video_url']; 
$fee = $row['course_fee']; 
$duration = $row['course_duration']; 
$start_date = $row['course_start_date']; 
$university = $row['university_name']; 
$course_provider = $row['course_provider_name']; 
$instructor = $row['instructor_name']; 

     $_SESSION['result'][$id] = Array('id'=> $id,'course_title' => $title,'course_description'=> $description,'course_url' => $course_url,'video_url' => $video_url,'fee' => $fee,'course_duration'=>$duration,'start_date'=>$start_date,'university' => $university,'course_provider'=>$course_provider,'instructor'=>$instructor); 
?> 
    <div id='compare_box'>     
     </div>  

    <div class="col-md-3 photo-grid " style="float:left"> 

     <div class="well well-sm"> 

     <a href="final.php?id=<?php echo $id;?>&name=<?php echo $title;?>" target="_blank"> 
     <h4><small><?php echo $title; ?></small></h4> 
     </a> 
    <br> 
    <input type ='checkbox' name="compare" id="compare" value="<?php echo $id;?>">add to compare 
    </div> 
</div> 
<?php 
} 
?> 

page3 compare.php

<?php 
session_start(); 
include 'includes/dbconfig.php'; 
$check = $_POST['value']; 
$sql = "SELECT * from course_info_table where course_id = '$check' " or die(mysqli_error($conn)); 
$result = mysqli_query($conn,$sql); 

$index = 0; 
while($row = mysqli_fetch_array($result)) 
{ 
    $title = $row['course_title']; 

?> 
<?php 
} 
echo json_encode($title); 
?> 

ответ

0

Вы можете изменить

<input type ='checkbox' name="compare" id="compare" value="<?php echo $id;?>"> 

в

<input type ='checkbox' name="compare" class="compare" value="<?php echo $id;?>"> ^you can only have one unique 'id' value in your html doc, which means your first id="compare" will work fine and others with id="compare" will be ignored by the DOM tree

Ссылка:

http://www.w3schools.com/tags/att_global_id.asp

+0

ой спасибо, что работало хорошо, теперь, когда я уверен, нажав Добавить для сравнения флажка его просто проходящий первого значения результата, – parvez

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

  • Нет связанных вопросов^_^