1masoud
6 سال پیش توسط 1masoud مطرح شد
5 پاسخ

یک مثال ساده از checkboxدر لاراول به صورت ajax

@ali.bayat
میشه یک مثال ساده از checkboxدر لاراول به صورت ajax بزنید
می خواهم وقتی چک باکس checked میشه یک چیزی چاپ کنه و وقتی checked غیر فعال میشه متن چاپ شده پاک شود
خودم اینجوری نوشتم اما خیلی ناقصه

< body >
    <
    input type = "checkbox"
class = "get_value"
name = "gender"
value = "male" >
    <
    input type = "checkbox"
class = "get_value"
name = "gender"
value = "female" >
    <
    input type = "submit"
value = "submit"
id = "btnsubmit" >
    <
    div id = "ff" > < /div>
    <
    script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" > < /script> <
    script type = "text/javascript" >
    $(document).ready(function () {
        $('#btnsubmit').click(function () {
            var link = [];
            $('.get_value').each(function () {
                if ($(this).is(":checked")) {
                    link.push($(this).val());
                }
            });
            link = link.toString();
            $.ajax({
                url: "<?php  echo url('/aa') ;?>",
                headers: {
                    'X-CSRF-TOKEN': '{{ csrf_token() }}'
                },
                type: 'POST',
                data: {
                    link: link
                },
                success: function (data) {
                    $('ff').html(data);
                }
            });
        });
    });
<
/script>

Route::get('/j',function(){
return view('j');
});
Route::post('/aa','Controller@k');

   public function k(Request $request)
    {
        $name=$request->link;
        DetailsModel::create([
         'link'=>$name,
         ]);
      }

حالا می خواهم بگم زمانی که روی چک باکس مورد نظر کلیک کردم بره و اطلاعات اون رو از دیتابیس بگیره و نمایش بده
منظورم نمایش دادن اطلاعات با ajaxچطوریه؟


ثبت پرسش جدید
1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش مطرح شد
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

مثال ساده‌ش به شکل زیره:


$(document).ready(function(){
  $("input:checkbox").change(function() {
    var user_id = $(this).closest('tr').attr('id');

    $.ajax({
            type:'POST',
            url:'/activation',
            headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
            data: { "user_id" : user_id },
            success: function(data){
              if(data.data.success){
                //do something
              }
            }
        });
    });
});

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

و در سمت بک اند هم شبیه به زیر:

public function activation(Request $request)
{

    $user = User::findOrFail($request->user_id);

    if($user->active == 1){
        $user->active = 0;
    } else {
        $user->active = 1;
    }

    return response()->json([
      'data' => [
        'success' => $user->save(),
      ]
    ]);
}

دقت داشته باشید که این کد Toggle میکنه. یعنی فعال رو غیرفعال میکنه و برعکس


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
0

@ali.bayat
برای unchecked چی؟ این رو چطوری باید بگیم زمانی که غیر فعال شد


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

change شامل checked & unchecked میشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام