при изменении выпадающего списка showld вызывает функцию php

#php #jquery

#php #jquery

Вопрос:

При изменении выпадающего списка должна вызываться функция php.

Внутри функции PHP я сделаю некоторые вычисления. Позже мне нужно установить значение текстового поля, иначе эта функция PHP должна вернуть значение, которое должно быть catch в javascript, и установить это значение для элемента управления textbox.

Моя html-функция

 <select name="sltLeaveType" id="sltLeaveType" class="formSelect" onchange="TotalCountsOfPL(this.value)">
        <?php
      <option></option>
      <option></option>
</select>
  

И в PHP функция помещается в D:/Project/EmployeeDetails/EmpLeave.php

 class clsGetTotalPL 
{
    function GetTotalPL($EmployeeId)
    {       
        $query = "select count(leave_request_id) from hs_hr_leave_requests where leave_type_id='LTY002' AND employee_id=".$EmployeeId.";";
    return $query;
}
  

Итак, теперь, пожалуйста, [предоставьте мне функцию jQuery для вызова этой функции Php
чтобы получить, вызывайте функцию GetTotalPL() при каждом изменении в выпадающем списке.

Комментарии:

1. без кода мы не сможем вам помочь. а также укажите желаемый результат

2. Пожалуйста, не могли бы вы предоставить мне код для этого

Ответ №1:

Вы не можете вызвать функцию php из js или html, но вы можете сделать это с помощью ajax-вызова функции php, где вы можете выполнить свои вычисления, а затем вернуть результирующее значение в js, так что затем вы можете выполнить это с помощью js в html…

Обновить:

 <select name="employee" id="employee" onchange="getIPL(this.value);">
   <option value="">Select Employee</option>
</select>    

function getIPL(id)
    {
            $.ajax({
                       type: "GET",
                       url: "EmpLeave.php",
                       data: "emp_Id ="   id,
                       success: function(result){
                         $("#somewhere").html(result);
                       }
                     });
    };


 // Empleave.php file....
  if(isset($_GET['emp_Id'])){
     GetTotalPL($_GET['emp_Id']);
 }

 function GetTotalPL($id){
  // do your calculation...
}
  

Комментарии:

1. Спасибо @ime.. На самом деле мне нужно вернуть значение или переменную из GetTotalPL($_GET[’emp_Id’]); для получения функции pl (id). и устанавливает это значение в текстовое поле.

2. Теперь все понятно, вы можете установить свою ajax-функцию и передавать информацию в Empleave.php и возвращает данные в виде echo или return из функции GetTotalPL…

3. Если я напишу echo»document.getElementById(«txtTotalLeave»).innerHTML=calculatedValue;», то функция getIPL() заставит ее работать.

4. Возвращайте только это значение типа => echo $ calculatedValue;, а затем в функции success, где переменная result используется для представления этих возвращаемых значений .. и присваивайте ему идентификатор (#где-нибудь) в html-элементе …. если вы найдете эту справку полной, пожалуйста, проголосуйте и выберите ответ.. Спасибо..

5. Вы уверены, что я проголосую за вас, сэр. Но если вы не возражаете, не могли бы вы привести точный код. Мне нужно определить возвращаемое значение для текстового элемента управления с именем txtTotalLeave. т.е. $ («#txtTotalLeave»).html (результат); правильно ли это.

Ответ №2:

Вставьте свою функцию в php-файл для исключения, затем вы можете вызвать php-файл с помощью ajax (я предлагаю вам использовать jQuery)

 ///////////////////////// foo.php

<?php

Function foo (){

// Your process

}

foo();

?>

///////////////////// text.html

<select name="test" id="test" >
<option>.....</option>
.
.
.
.
</select>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script type="text/javascript">
$('#test').change(function(){
$.ajax({
    type: "GET",
        url: "foo.php",
        success:function(){
        // Your function after execute foo.php

        }
            })

})
</script>
  

Комментарии:

1. Спасибо @user703617. И как я могу получить вычисленное (которое было вычислено в foo ()) значение в jQuery ($.ajax).

2. В конце вашей функции напишите json_encode(Данные // строка или массив) -> функция foo(){ ….. echo json_encode($ data) } тогда вы могли бы получить $data по типу: «GET», url: «foo.php «, успех:функция (данные){ data = $.parseJSON (данные); // ваш массив будет здесь data[0],data[1], …. если вы использовали его в качестве массива, я рекомендую вам использовать array }