2015-05-15 3 views
1

Я новичок в этом, поэтому у меня есть вопрос относительно зависимого выпадающего меню.Передача двух значений в javascript

Сначала у меня есть два выпадающего меню, Оставьте тип и второй Доступный баланс.

Ниже показаны js и форма.

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 

$("#parent_cat").change(function() { 
$(this).after('<div id="loader"><img src="img/loading.gif" alt="loading subcategory" /></div>'); 
$.get('loadsubcat.php?parent_cat=' + $(this).val(), function(data) { 
    $("#sub_cat").html(data); 
    $('#loader').slideUp(200, function() { 
     $(this).remove(); 
    }); 
}); 
}); 

}); 

$sql = mysql_query("SELECT * FROM leaves WHERE emp_id=$emp_id'"); 

<form method="get"> 
<label for="category">Leave Type</label> 
<select name="parent_cat" id="parent_cat"> 
<option> Select one </option> 
<?php 
if ($row['leave_al'] == 1) 
{ 
    echo "<option value='Annual Leave'> Annual Leave </option>"; 
} 

if ($row['leave_matl'] == 1) 
{ 
    echo "<option value='Maternity Leave'> Maternity Leave </option>"; 
} 

?> 
</select> 

<label>Available Balance</label> 
<select name="sub_cat" id="sub_cat"></select> 
</form> 

loadsubcat.php

<?php 

$parent_cat = $_GET['parent_cat']; 
$emp_id = $_GET['emp_id']; 

$query = mysql_query("SELECT * FROM leaves WHERE emp_id = 'OR9090'"); 
$row = mysql_fetch_array($query); 

if ($parent_cat == 'Annual Leave') 
{ 
    echo "<option value='$row[id]'>$row[total_annual]</option>"; 
} 

if ($parent_cat == 'Maternity Leave') 
{ 
    echo "<option value='$row[id]'>$row[maternity_days]</option>"; 
} 
?> 

Пример выше, parent_cat будет передано в loadsubcat для того, чтобы загрузить доступный остаток. Я также хотел бы передать $ emp_id в loadubcat, чтобы sql мог читать на основе $ emp_id. Прямо сейчас я могу назначить emp_id вручную. Пожалуйста, помогите мне спасибо!

+0

Где emp_id хранится в HTML? – Drakes

+0

Сэр, emp_id не хранится в html. Значение передается из другого процесса. Мне просто нужен emp_id для SQL-запроса –

+0

Где вы можете получить доступ к emp_id в своем HTML-файле выше? – Drakes

ответ

1

Я также хотел бы передать $ emp_id в loadsubcat

Чтобы добавить еще один параметр строку в loadsubcat.php запроса, вы можете изменить

$.get('loadsubcat.php?parent_cat=' + $(this).val(), function(data) { 

в

$.get('loadsubcat.php?parent_cat=' + $(this).val() + '&emp_id=' + $("...").val(), function(data) { 

где $("...").val() - это местоположение идентификатора сотрудника значение в некоторых HTML-тег, то в файле PHP вы можете получить к ним доступ с помощью кода ниже:

$parent_cat = $_GET['parent_cat']; 
$emp_id = $_GET['emp_id']; 
2

и вы можете попробовать это:

<form method="get"> 
<input type="hidden" name="emp" value="<?php echo $emp_id ?>"/> 
<label for="category">Leave Type</label> 
<select name="parent_cat" id="parent_cat"> 

Поместите EMP_ID на скрытую входе и затем получить значение при изменении jQuery

$("#parent_cat").change(function() { 
var emp = $(this).siblings('input[name=emp]').val(); (...) 

а затем в комплекте с Дрейком.

$.get('loadsubcat.php?parent_cat=' + $(this).val() + '&emp_id=' + emp, function(data) { 

О, и быть осторожным с GET вары от использования mysql_real_escape_string loadsubcat.php или PDO, чтобы защитить инъекции SQL.

+0

Извините, сэр, но могу ли я знать, почему, когда emp_id передан, и когда я повторяю emp_id, он говорит undefine? –

+0

попробуйте поместить тег ввода перед тегом select. И в функции js проверьте с предупреждением (emp), чтобы узнать, не является ли emp_id неопределенным. – Benera

+0

Привет, сэр, я пробовал, как вы меня просили. Когда я попробовал оповещение (emp), это не определено. Поэтому я предполагаю, что идентификатор не передан?Я просто не знаю, где внести изменения в код, поскольку я не знаком с js –

1

мой код в настоящее время работает! Я изменил

var emp = $(this).siblings('input[name=emp]').val(); 

к

var $form = jQuery(this).closest('form'); 
var emp = $form.find("input[name='emp']").val(); 

Остальная часть кода приведенный выше работает прекрасно!

Смежные вопросы