#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 }