簡體   English   中英

在JavaScript中傳遞兩個值

[英]Passing two value in 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傳遞給loadsubcat,以便sql可以基於$ emp_id進行讀取。 現在,我只能手動分配emp_id。 請幫我謝謝!

您可以嘗試以下操作:

<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) {

哦,要小心loadsubcat.php中的GET變量,請使用mysql_real_escape_string或PDO保護SQL注入。

我也想將$ 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標記中員工ID值的位置,然后在您的PHP文件中,您可以使用下面的代碼訪問它們:

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

我的代碼現在可以使用了! 我已經改變了

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

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

上面給出的其余代碼工作正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM