2016-11-14 47 views
1

這是我的腳本。我想在我的頁面中的隱藏字段的id,並把它傳遞給fetch.php如何獲取隱藏字段的ID並將其傳遞給我的查詢?

$(document).on('click', '.edit_data', function(){ 
    var employee_id = $(this).attr("id"); 
    $.ajax({ 
     url: "fetch.php", 
     method: "post", 
     data: { employee_id: employee_id }, 
     dataType: "json", 
     success: function(data) { 
      $('#name').val(data.lname); 
      $('#overtime').val(data.OT); 
      $('#OT_date').val(data.outw); 
      $('#employee_id').val(data.id); 
      $('#overtimeModal').modal('show'); 
     } 
    }); 
}); // end of edit data function 
while($row = mysqli_fetch_array($result)) 
{ 
    echo '<tr> 
      <td><center>'.$row['lname'].'</td> 
      <td><center>'.$row['outs'].'</td> 
      <td><center>'.$row['outw'].'</td> 
      <td><center>'.$row['OT'].' HR/HRS</td> 
      <td><center><input type="hidden" name="OT_date" id="'.$row['OW'].'" /></td> 
      <td><center><input type="button" name="btnedit" value="APPROVE" id="'.$row["id"].'" class="searchbutton btn-primary view_data"></center></td> 
      <td><center><input type="button" name="btnapprove" value="editortest" id="'.$row["id"].'" class="searchbutton btn-primary edit_data"></center></td> 
     </tr>'; 
} 

這裏是OTDATE隱藏字段,我想它的ID。請幫幫我。謝謝

+0

是該次點擊也工作或沒有?你是警戒還是控制員工的ID? –

+0

爲什麼不使用'input'的'value'屬性? – Peter

+0

感謝您的幫助大師!該按鈕正在工作我試過了..但問題是我傳遞給我的fetch.php的變量..我有一個查詢那裏獲取結果,其中employee_id等於從jscript傳遞的員工ID ..但如果我只使用員工ID查詢會給我錯誤的結果..所以我需要得到的日期也使用它在我的查詢.. – arima

回答

0

您可以像這樣獲取它,因爲您只有一個指定的隱藏輸入。

var hiddenId = $("input[type='hidden']").attr('id'); 

否則,您可以通過「特殊」的名字取隱藏的輸入字段,

var hiddenId = $("input[name='input_field_name']").attr('id'); 

在你的情況下,隱藏輸入的名稱是「OT_date」所以你應該找到像這樣,我們不'不知道給id賦予id的id是什麼,因爲它是從=> id =「'。$ row [」id「]。'」中獲取的,因此下面的解決方案應該足夠了。

var hiddenId = $("input[name='OT_date']").attr('id'); 

遍歷每一行並在該行中找到隱藏的元素。

$('tr').each(function() { 
    var hiddenId = $(this).find("input[name='OT_date']").attr('id'); 
}); 
+0

謝謝先生的幫助..我應該使用名稱attrib?並把$行['']?到它? – arima

+0

@arima我已經更新了我的答案以獲得更多的說明。如果解決您的問題,請Upvote。 – ScanQR

+0

它只獲得第一個值先生..非常感謝幫助我先生.. – arima

2

爲了解決這個問題,你可以從點擊.edit_data按鈕遍歷DOM並找到相同tr距離最近的:hidden元素。然後您可以存儲對該元素本身的引用。這否定了需要知道現場的id

$(document).on('click', '.edit_data', function(){ 
    var employee_id = this.id; 
    var $otdate = $(this).closest('tr').find(':hidden'); 

    $.ajax({ 
     url: "fetch.php", 
     method: "post", 
     data: { employee_id: employee_id }, 
     dataType: "json", 
     success: function(data) { 
      $('#name').val(data.lname); 
      $('#overtime').val(data.OT); 
      $otdate.val(data.outw); // use the element here 
      $('#employee_id').val(data.id); 
      $('#overtimeModal').modal('show'); 
     } 
    }); 
}); 

注意,您可以使用您想了解隱藏的輸入任何選擇,我只是在本例中爲簡單起見,使用:hidden

+0

謝謝先生的迴應..我如何檢查,如果我得到正確的$ otdate? 它沒有顯示,當我把它放在成功:function() – arima

+0

你可以檢查'$ otdate.length',看看是否找到元素(它應該返回1) –

+0

另外,你檢查了AJAX函數正在成功完成? –

0

通過使用

jQuery("[attribute='value']") 

您的問題

var hiddenId = $("input[name='OT_date']").attr('id'); 
+0

謝謝先生..我如何檢查這個腳本返回的值? – arima

+0

你可以使用'console.log(hiddenId)'在控制檯中檢查它,它會返回你的數組ids –

+0

我已經使用這種方法先生..但它只獲取第一個OTdate .. – arima

0

首先檢查控制檯,點擊事件工作或不!

然後試試這個:

對於沒有隱藏字段:

var employee_id = $('.edit_data').attr("id"); 

對於隱藏字段:

var employee_id = $("input[name=OT_date]").attr("id"); 
+0

謝謝先生..按鈕正在工作,它已經給我的結果...但由我的查詢給出的結果是錯誤的..那就是爲什麼我需要在這裏得到OT日期,並將其傳遞給查詢,PHP中,PHP – arima

相關問題