2016-07-08 11 views
0

我正在開發一個項目並碰到一個模塊。我應該如何將數據從ajax調用中提取到隱藏的div框中

第1頁
用戶必須從搜索欄將帶他到第2頁

第2頁
第2級上的所有獲取的成果將得到顯示給用戶的div的搜索。每個結果都有一個與之關聯的複選框。
result format

當我點擊添加比較複選框,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 
} 
?> 

第3頁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

相關問題