我有一個看起來像這樣的應用程序:區分多個組的形式
)旁邊的病人X的名字是一個按鈕標記入住。這被記錄在服務器端。
2)單擊「檢入」按鈕後,用戶將看到一個下拉列表(替換初始按鈕),其中包含用戶可以選擇的多個位置。從選擇中選擇一個位置後,服務器端會再次更新。然後
3)用戶可能決定選擇多個位置,重複步驟2
4)最後,當用戶進行選擇的地點,他點擊了退房按鈕,在同一選擇,其中用戶在步驟2和3中點擊了標題爲「簽出」的位置。點擊後,它會發送到checkloc.php並記錄下來。 5)最後,下拉消失,單詞Checked出現。
現在,問題是,網頁上有很多患者(患者A,患者B,C,D等)。當頁面上有一名患者時,該流程就像上述步驟一樣工作。
不幸的是,當你有一個以上的病人在頁面上,如果(例如)點擊檢查在旁邊的病人按鈕,雙下拉菜單出現,一個爲患者A(像它應該)和一個對於患者B,即使沒有人點擊名稱旁邊的檢查按鈕。
這裏是我的代碼:
HTML:
<button class="checkIn" data-param="button_1">Check In</button>
<form method='post' class='myForm' action=''>
<select name='locationSelect' class='locationSelect' data-param='location_1'>
<option value="0">Select a location</option>
<option value='1'>Exam Room 1</option>
<option value='2'>Exam Room 2</option>
<option value='3'>Exam Room 3</option>
<option value='4'>Exam Room 4</option>
</select>
</form>
<button class="checkOut" data-param="cbutton_1">Check Out</button>
<div class='finished' style='color:#ff0000;'>Checked Out</div>
<!--START SECOND SET-->
<button class="checkIn" data-param="button_2">Check In</button>
<form method='post' class='myForm' action=''>
<select name='locationSelect' class='locationSelect' data-param='location_2'>
<option value="0">Select a location</option>
<option value='1'>Exam Room 1</option>
<option value='2'>Exam Room 2</option>
<option value='3'>Exam Room 3</option>
<option value='4'>Exam Room 4</option>
</select>
</form>
<button class="checkOut" data-param="cbutton_2">Check Out</button>
<div class='finished' style='color:#ff0000;'>Checked Out</div>
和JavaScript/jQuery的
<script type="text/javascript">
$(document).ready(function() {
$('.locationSelect').hide(); // Hide all Selects on screen
$('.finished').hide(); // Hide all checked Out divs on screen
$('.checkOut').hide();
$('.checkIn').click(function() {
var $e = $(this);
var data = $e.data("param").split('_')[1] ;
// gets the id of button (1 for the first button)
// You can map this to the corresponding button in database...
$.ajax({
type: "POST",
url: "checkin.php",
// Data used to set the values in Database
data: { "checkIn" : $(this).val(), "buttonId" : data},
success: function() {
// Hide the current Button clicked
$e.hide();
// Get the immediate form for the button
// find the select inside it and show...
$('.locationSelect').show();
$('.checkOut').show();
}
});
});
$('.locationSelect').change(function() {
$e = $(this);
var data = $e.data("param").split('_')[1] ;
// gets the id of select (1 for the first select)
// You can map this to the corresponding select in database...
$.ajax({
type: "POST",
url: "changeloc.php",
data: { "locationSelect" : $(this).val(), "selectid" : data},
success: function() {
// Do something here
}
});
});
$('.checkOut').click(function() {
var $e = $(this);
var data = $e.data("param").split('_')[1] ;
// gets the id of button (1 for the first button)
// You can map this to the corresponding button in database...
$.ajax({
type: "POST",
url: "checkout.php",
// Data used to set the values in Database
data: { "checkOut" : $(this).val(), "buttonId" : data},
success: function() {
// Hide the current Button clicked
$e.hide();
$('.locationSelect').hide();
// Get the immediate form for the button
// find the select inside it and show...
$('.finished').show();
}
});
});
});
</script>
感謝您的任何和所有幫助,如果您需要任何更多細節或澄清只是問!
完美謝謝你的出色答案 – Muhambi