2012-11-21 83 views
2

我是誰試圖讓,抓住從當前頁面的ID心跳腳本,並將其發送到heartbeat.php當出現以下情況相當新手程序員:多個AJAX請求組表單元素

1)我查看時間表當前位置字段,它與我剛剛發送的ID相對應。

2)然後我編碼我在currentlocation現場發現JSON

這裏的價值是爲heartbeat.php代碼:

<?php 
/*** mysql hostname ***/ 
$hostname = 'localhost'; 

/*** mysql username ***/ 
$username = '********'; 

/*** mysql password ***/ 
$password = '*********'; 

$db = new PDO("mysql:host=$hostname;dbname=sv", $username, $password); 
$statement = $db->prepare("SELECT currentlocation FROM schedule WHERE apptid = :apptid"); 
$statement->execute(array(':apptid' => $apptid)); 
$row = $statement->fetch(); 
echo json_encode($row['currentlocation']); 

?> 

在HTML方面,我使用了PHP一個while循環從數據庫中拉取患者信息,所以ID-NUMBER-1和ID-NUMBER-2將是數據庫中相應的ID。

這裏的HTML:

<!-- FIRST SET: the id is ID-NUMBER-1 --> 

<div class='jcontainer'> 
     <div style='display:none; class='jcontainerid'>ID-NUMBER-1</div> 
     <button class='checkIn' data-param='button_ID-NUMBER-1'>Check In</button> 
     <form method='post' class='myForm' action=''> 
      <select name='locationSelect' class='locationSelect' data-param='location_ID-NUMBER-1'> 
       <option value='1'>Exam Room</option> 
       <option value='2'>Exam Room 2</option> 
       <option value='3'>X-Ray Room</option> 
       <option value='1000'>Check Out</option> 
      </select> 
     </form> 
     <div class='finished' style='color:#ff0000;'>Checked Out</div> 
</div> 

<!-- SECOND SET: the id is ID-NUMBER-2 --> 

<div class='jcontainer'> 
     <div style='display:none; class='jcontainerid'>ID-NUMBER-2</div> 
     <button class='checkIn' data-param='button_ID-NUMBER-2'>Check In</button> 
     <form method='post' class='myForm' action=''> 
      <select name='locationSelect' class='locationSelect' data-param='location_ID-NUMBER-2'> 
       <option value='1'>Exam Room</option> 
       <option value='2'>Exam Room 2</option> 
       <option value='3'>X-Ray Room</option> 
       <option value='1000'>Check Out</option> 
      </select> 
     </form> 
     <div class='finished' style='color:#ff0000;'>Checked Out</div> 
</div> 

所以,問題是,我該怎麼辦在JQuery中的以下內容:

1)對於每個jcontainer(或每一組表單元素,我標誌着2)然後使用jquery心跳,每隔5秒發送到php頁面的每個jcontainer的id以及值爲的div的文本內容當前位置以JSON格式發回。

非常感謝任何和所有的幫助。如果您需要更多細節,請隨時詢問,我會很樂意提供幫助!

+0

您需要查看jQuery文檔的Ajax和遍歷部分。 –

回答

2

可以使用。每()遍歷每個jcontainer,多看看這裏:

http://api.jquery.com/each/

這裏是你可以做什麼的axample:

function dataToHeartbeat(){ 
    $(".jcontainer").each(function(){ 
    // grab the id 
    var apptid = $(this + " > .jcontainerid").text(); 
    // Submit to heartbeat.php with JSON expected in return 
    $.getJSON('heartbeat.php?apptid='+apptid, function(data){ 
     // Do something with resulting data 
    }); 
    }); 
} 

然後,您可以使用setTimeout()來調用函數。根據您的需要,您可以在函數中添加setTimeout以導致連續循環。

+0

謝謝。這非常有幫助 – Muhambi