jqueryを利用してテーブル内をインライン編集(php側に渡してmysqlに保存)しようとしています。
特定の値(下記のshop_name)のインライン編集と値の取得はできるようになったのですが、値に紐づくIDを同時にPHP側に渡したいのですがうまく取得できません。
jqueryでの取得につきましてサンプルコードをご教示いただけなないでしょうか。
jqueryコードの注釈の1と2の取得と受け渡しが解決できれば、PHP側での処理は可能となります。
どうぞよろしくお願いいたします。
php
1 <table class="table" id="edit-table"> 2 <thead> 3 <th>id</th> 4 <th>shop_name</th> 5 </thead> 6 <tbody> 7 @foreach($shops as $shop) 8 <tr> 9 <td>{{ $shop->id }}</td> 10 <td id="edit-table2">{{ $shop->shop_name }}</td> 11 </tr> 12 @endforeach 13 </tbody> 14 </table>
jquery
1 2 (function(documet){ 3 4 $(document).ready(function(){ 5 $("#edit-table > tbody > tr > td.edit-table2").click(edit_toggle()); 6 7 }); 8 9 10 11 function edit_toggle(){ 12 var edit_flag=false; 13 return function(){ 14 if(edit_flag) return; 15 var $input = $("<input>").attr("type","text").val($(this).text()); 16 console.log($input.val()); 17 18 19//1.ここで、shop-idを取得して、saveファンクションにidと、shop_name を渡したい 20 21 $(this).html($input); 22 23 $("input", this).focus().blur(function(){ 24 save(this); 25 $(this).after($(this).val()).unbind().remove(); 26 edit_flag = false; 27 }); 28 edit_flag = true; 29 } 30 } 31 32 function save(elm){ 33 alert("「"+$(elm).val()+"」を保存しました"); //保存する処理をここに書く 34 35 $.ajax( 36 { 37 type: "POST", //POSTで渡す 38 url: "http://hack.dev/admin/jquerypost", //POST先 39 data: 40 { 41 "id": , //2.IDを格納したい 42 "shop_name":$(elm).val(), //shop_name 43 "_token":"xxxxxxxxxxxxxxxxxxxxx" 44 }, 45 46 success: function(hoge) //通信成功、dataaddcon.phpからの返り値を受け取る 47 { 48 if(hoge==0) //返り値が0→成功 49 { 50 alert('正常終了しました'); 51 } 52 else if(hoge==1) //返り値が1→失敗 53 { 54 alert('失敗しました'); 55 } 56 }, 57 error: function(XMLHttpRequest,textStatus,errorThrown) //通信失敗 58 { 59 alert('処理できませんでした'); 60 } 61 }); 62 63 64 } 65 })(document); 66
回答2件
あなたの回答
tips
プレビュー