2016-08-02 5 views
0

Here is my code enter image description here更新laravelの「TR」データ

私はこの仕事をやってすることが困難に面しています: を - 私は、追加、削除持ってテーブルを持って、私がやったすべての単一の行の更新ボタンを行のデータIDに応じて各ボタンのデータ属性を追加して追加したり削除したりすることができます。要素の削除と挿入には完全に機能します。しかし、私は助けが必要なので、すべての行を更新する方法を見つけることができません!

注:私はAjaxを使用して要素を更新しています。

どのような戦略ですか?私は私のコード/ビューのスクリーンショットを投稿することができますが、それは少し長すぎます。

詳細説明:編集ボタン$(this)をクリックして削除ボタンを非表示にすると、チェックボタンが表示されます。この行の入力は非表示にならないので、ユーザーはこの行のデータを更新してからチェックします。 データはデータベース内で更新する必要があります。 すべての行が独自のIDと独自の値を持ち、すべての行(すべての行に対して同じクエリ)に対して1つのクエリのみを実行する必要があるため、どこにも居ません。更新する必要がある行のみを更新する表全体のフォームがある可能性が高くなります。

あなたの後

$(document).on('click', '.btn-edit-interview', function() { 

    var id = $(this).attr('data-interview-id'); 
    var selector = ('' + '.tr' + id + ''); 
    var selectordelt = ('' + '.' + id + ''); 
    var selectorsave = ('' + '#save-'+id + ''); 
    $(this).hide(); 
    $(selectordelt).hide(); 
    $(selectorsave).show(); 
    $(selector).prop('disabled', false); 
    $(selector).addClass("form-control"); 
    $(selector).css('border: 1px solid rgb(204, 204, 204);margin-top: 16px;'); 
}); 

私はすべての単一の行の更新クエリを作成しない方法を見つけることで助けを必要と編集ボタンをクリックしてください。

+0

は、スクリーンショットを追加助ける希望。 –

+0

問題はどこにありますか?編集ボタンをクリックしたときにコード内で何をすべきかわからないフロントエンドにあるのですか、それともバックエンドにありますか?詳細といくつかのコードを教えてください。 –

+0

ajax( '.ID-USER')を実行しているときに、ユーザーの保存IDを取るすべてのtrにクラスを追加できますか?serialize()? –

答えて

0
//HTML 


<tr data-unique="{!! $yourVariable->id !!}"> 

<td><input value="{!! $yourVariable->value !!}"></td> 

    <td><button data-update="{!! $yourVariable->id !!}">Update</button></td> 
</tr> 


//AJAX 



$('button[data-update]').click(function() { 
     var itemID = $(this).attr('data-update'); 

     //Will contain value of input in that tr only 
     var input = $('tr[data-unique="+itemID+"] input').val(); 

     $.ajax({ 
      url: '/update', 
      type: 'POST', 
      dataType: 'json', 
      data: {item: itemID, anotherValue: input}, 
      success:function(data){ 
        if(data['status'] == "success"){ 
        alert("Updated"); 
        } 
      } 
    }); 

    return false; 
}); 



//Controller 
public function update(Request $req){ 

    YourModel::where('id', $req->input('item'))->update(['column' => 'value']); 

    return response()->json(['status' => 'success']); 
} 

//Route 

Route::post('/update', '[email protected]'); 

+0

laravelは入力項目をどのように認識しますか?ユーザーは複数の値で行全体を更新していますが、何が起こっているのかさらに説明できますか? –

+0

あなたの行では、各カラムには、あなたのコントローラからの値で 'data-update'のようなカスタム属性を与える可能性のある入力があります。JS内の値にアクセスし、それらの値を' data'配列AJAXのまた、 'tr'には、どの属性が更新されているかを識別するためのカスタム属性を与えることができます。 – Michel

+0

ajax( '.ID-USER')を実行しているときに、ユーザの保存IDを取るtrごとにクラスを追加できますか? serialize()? –

関連する問題