2017-06-18 101 views
0

我有以下兩個功能:filterbuttonsgetTableData.如何隱藏引導下拉菜單時放置事件?

第一個函數決定調用是否反擊應該或不應該出現在錶行。 第二個函數根據從數據庫檢索到的信息構建表數據。

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函數恰好在具有下拉按鈕的按鈕的點擊功能之後。當我嘗試它時,我的控制檯上沒有任何東西出現,所以它不能到達我的代碼的那一部分。任何人都可以告訴我爲什麼?

回答

0

對不起愚蠢的問題。我剛剛意識到這是引導程序導入的問題。

+0

下次把它作爲'comment'而不是'answer'並且做得很好 – eeya