محمود خسروی
6 سال پیش توسط محمود خسروی مطرح شد
3 پاسخ

چگونه جمع نمره ها را با چک باکس انتخاب شده به دست بیاوریم

سلام به دوستان لاراولی

من یک جدولی دارم به نام جدول تخلفات و در این جدول فیلدی وجود دارد به نام score یا همین نمره و title یا عنوان.

در ویو من به صورت @foreach و @endforeach و نمره ها به صورت چک باکس و عنوان نمایش می دهد.

سوال من اینجاست که چطور میشه وقتی که چک باکس اگر بلی بود نمره در زیر با هم جمع بشود.

یک چیزی تقریبا مثل این دمو. http://jsfiddle.net/zch۱۱bjo/۱/ این دمو با HTML ساده است. ولی من میخواهم نمره ها از دیتابیس بگیره و جمع شون کنه با آژاکس.

http://uupload.ir/files/kttj_1.jpg

سپاس فراوان از شما که پاسخ می دهید.


ثبت پرسش جدید
vahid Mohammadi
@viva.mohammadi 6 سال پیش مطرح شد
0

@oxbir

خوب شما یه بار این رکوردها رو از دیتابیس گرفتید به نظر من مثل مثالی که زدید value هر چک باکس رو با score برابر کنید و طبق مثالی که لینکشو گزاشتید جمع بزنید.


محمود خسروی
تخصص : طراح و برنامه نویس
@oxbir 6 سال پیش آپدیت شد
0

@viva.mohammadi

اینو میدونم ولی من یه چیز دیگری می خواهم. من اون value هر چک باکس را به صورت JSON ذخیره کردم. به این صورت:

<table class="table table-bordered">
    @foreach($infractions as $infraction)
        <tr>
            <th>{{ $infraction->title }}</th>
            <td>
                <input type="hidden" id="num{{ $infraction->title }}" name="infractions[{{ $infraction->id }}]" value="0" >
                <input type="checkbox" value="1" onclick="{{ $infraction->score }}" name="infractions[{{ $infraction->id }}]" data-toggle="toggle" data-on="بلی" data-off="خیر" data-onstyle="success" data-offstyle="danger">
            </td>
        </tr>
    @endforeach
</table>

من سوالم اینجاست که وقتی کاربر روی چک باکس کلیک کرد اون onclick چگونه به AJAX بفرستیم.

onclick="{{ $infraction->score }}"

ممنون میشم اگر زودتر جواب دهید.


محمود خسروی
تخصص : طراح و برنامه نویس
@oxbir 6 سال پیش مطرح شد
0

من ساعت ها تلاش کردم اما جمع شون نمی کنه؟ از دوستان اگر می دانند کمک کنند. من جای onclick را عوض کردم:

onclick="scorePlus({{ $infraction->score }})" 

اینم ajax:

function scorePlus (id)
{
    var value = parseInt(document.getElementById('num'+id).value, 10);
    value = isNaN(value) ? 0 : value;
    value++;
    document.getElementById('total').value = value;
}

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

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