0
我有以下兩個功能:filterbuttons
和getTableData.
如何隱藏引導下拉菜單時放置事件?
第一個函數決定調用是否反擊應該或不應該出現在錶行。 第二個函數根據從數據庫檢索到的信息構建表數據。
function filterButtons(status) {
$append = "";
if (status == "PENDING") {
$append = "<td class='dropdown'><a id='call' class='btn btn-primary actionButton' data-toggle='dropdown'> Call to Counter </a><a class='btn btn-danger cancelbtn' > Cancel </a></td>";
} else if (status== "SERVING") {
$append = "<td><a class='btn btn-danger cancelbtn' > Cancel </a><a class='btn btn-success donebtn'>Done</a></td>";
}
return $append;
}
function getTableData() {
$.ajax({
url: 'inc/php/fetch_data.php',
type: 'POST',
async: false,
data: 'data=gettabledata',
datatype: "text",
success: function (data) {
console.log(1);
$('.table-hover tbody').empty(); //refresh the table data
dataArray = JSON.parse(data); //covert data from server to js array
$.each(dataArray, function (key, value) {
$('.table-hover tbody').append("<tr><td>" + value[0] + "</td><td><font size='3px'>" + value[1] + "</font></td><td><font size='3px'><b>" + value[2] + "</b></font></td><td><font size='3px'>" + value[3] + "</font></td><td><font size='3px'>" + value[4] + "</font></td><td><font size='3px'>"+value[5]+"</font></td>"+filterButtons(value[2])+"</tr>");
});
$(".actionButton").click(function() {
//move dropdown menu
$(this).after($dropdown);
// clearInterval(counter);
// clearInterval(table);
// $(".actionButton").click(function(){
// table = setInterval(getTableData,150);
// });
});
$(".dropdown").on('hide.bs.dropdown', function(){
console.log("hide method called");
});
$(".cancelbtn").click(function(){
var id = $(this).closest("tr").children().first().html();
if(confirm("Are you sure you want to cancel the transaction?")){
$.ajax({
url: 'inc/php/fetch_data.php',
type:'POST',
async: false,
data:'data=canceltrans&id='+id,
datatype:'text',
success: function(data){
if(data=="1"){
console.log("Cancel Successful!");
}
}
});
}
});
$(".donebtn").click(function(){
var id = $(this).closest("tr").children().first().html();
$.ajax({
url: 'inc/php/fetch_data.php',
type: 'POST',
async: false,
data: 'data=completetrans&id='+id,
datatype:'text',
success: function(data){
if (data=="1"){
console.log("Transaction Completed");
location.reload();
}
}
});
});
}
});
$.ajax({
url:'inc/php/fetch_data.php',
type: "POST",
async: false,
data: "data=getavailcounter",
datatype: "text",
success: function (data){
$dropdown.empty();
dataArray = JSON.parse(data);
$dropdown.append('<li><a class="Label">Select Counter:</a></li>');
$.each(dataArray, function (key,value){
$dropdown.append('<li><a class="counterLink" role="menu">'+value+'</a></li>');
});
//CODE FOR CLICK FUNCTION on select counter from dropdown
$(".counterLink").click(function(){
console.log("Counter CLicked!");
table = setInterval(getTableData,150);
var counter = $(this).html();
var id = $(this).closest("tr").children().first().html();
$.ajax({
url: 'inc/php/fetch_data.php',
type: 'POST',
async: false,
data: "data=calltrans&id="+id+"&counter="+counter,
datatype:"text",
success: function (data){
if(data=="1"){
console.log("Call Successful!");
}
else{
console.log("Unsuccessful!");
}
location.reload();
}
});
});
}
});
}
我如何做到這一點看了一些網上的信息,我得到了下面的代碼把功能時,下拉關閉要執行:
$(".dropdown").on('hide.bs.dropdown', function(){
console.log("hide method called");
});
我添加該代碼getTableData函數恰好在具有下拉按鈕的按鈕的點擊功能之後。當我嘗試它時,我的控制檯上沒有任何東西出現,所以它不能到達我的代碼的那一部分。任何人都可以告訴我爲什麼?
下次把它作爲'comment'而不是'answer'並且做得很好 – eeya