2016-11-14 3 views
1

これは私のスクリプトです。私はここで隠しフィールドの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隠しフィールドがあるのfetch.phpために私のページ内の隠しフィールドのidを取得し、それを通過したいと私はそれのIDを取得したいです。私を助けてください。ありがとう

+0

は、クリックが動作したりされていないということですか? employee_idを警告またはコンソールにしていますか? –

+0

なぜあなたは 'input'の' value'属性を使用していませんか?ヘルプマスターのための – Peter

+0

ありがとう!ボタンは私がそれを試してみました..しかし、問題は、私は私のfetch.phpに渡している変数です。私は結果を取得するためのクエリを持ってどこjscript ..渡された従業員のIDと等しいemployee_id私は唯一の従業員のIDを使用してクエリが私に間違った結果を与える..私も日付を取得し、私のクエリでそれを使用する必要があります.. – arima

答えて

0

隠し入力が1つだけ指定されているので、このようにフェッチできます。

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

そうでない場合、あなたはこのようにそれを見つける必要がありますので、隠された入力の名前は、私たちドン「OT_date」で、「特定」の名前で、あなたのケースで

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

を隠し入力フィールドをフェッチすることができ=> id = "'。$ row [" id "]。'"から取得されるので、idに与えられた "id"は何なのか分かりません。

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

各行をトラバースし、その行に隠れ要素を見つけます。あなたがクリックした.edit_dataボタンからDOMを横断し、同じtr以内に最寄り:hidden要素を見つけることができ、これを解決するために

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

助けてくれてありがとう..私は名前のattribを使用する必要がありますか? $ row ["']を置く?それに? – arima

+0

@arimaもっと明確にするために私の答えを更新しました。あなたの懸念を解決する場合は、アップアップしてください。 – ScanQR

+0

それは最初の価値を得るだけです..サー...助けてくれてありがとう.. – arima

2

。その要素自体への参照を格納することができます。これは、偶数フィールドの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を使用しました。イベントの作品をクリックするか、コンソールで問題

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

応答のために先生に感謝..私は右の$ otdateを取得する方法を確認することができますか? 成功したときにそれが表示されない:function() – arima

+0

'$ otdate.length'をチェックして、要素が見つかったかどうかを調べることができます(' 1'を返します)。 –

+0

また、AJAX機能は正常に完了していますか? –

0

!!

そして、この試してみてください。隠されたフィールドなしの場合

を:隠しフィールドのために

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

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

thanks sir ..どのように私はこのスクリプトによって返されている値をチェックできますか? – arima

+0

'console.log(hiddenId)'を使用してコンソールで確認でき、idsの配列を返します –

+0

私はこのメソッドを使っていますが、最初のOTdateを取得します。 – arima

0

最初のチェックのために

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

を使用することにより

+0

ありがとうございました。ボタンはすでに私に結果を与えています...しかし、私のクエリで与えられた結果は間違っています。なぜ私はここでOTの日付を取得し、フェッチ、php – arima

関連する問題