محمدرضا فلکی
2 سال پیش توسط محمدرضا فلکی مطرح شد
5 پاسخ

چجور به آبجکت مقدار اضافه کنم

سلام به همگی
من یه کدی دارم که کار میکنه اما آبجکت رفرش میشه و مقدار هاش به هم اضافه نمیشن.
یعنی یا ۱ رو داره یا ۲ ولی من میخوام ۱ و ۲ رو باهم داشته باشه :

var arr = {};
arr.id = $(this).data('id');

یه کد دیگه هم دارم ولی undefined برمیگردونه :

var arr = {};
$(arr).extend({
    id: $(this).data('id'),
});

یه کد دیگه هم دارم که اصلا ارور میده :

var arr = {};
id = $(this).data('id');
arr.push(id);

یه کد دیگه هم دارم که اینم undefined میده :

var arr = [];
id = $(this).data('id');
arr.push(id);

این یکی هم باز رفرش میشه :

 var arr = {
    id: $(this).data('id')
}

یعنی من میخوام هر بار که یه کاری میکنم بجای اینکه {1} باشه یا {2} هر بار اون کارو تکرار میکنم مقادیر آبجکت به هم اضافه بشن => {1,2}


ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 2 سال پیش آپدیت شد
1

بیا این دو مدل دیتا

let dataOne = [];
let dataTwo = {id: [], name: []}
$('table').on('click', 'button.delete', function(e) {

    if ($("tr.tr" + $(this).data('id') + " > td").hasClass('selected')) {
        $("tr.tr" + $(this).data('id') + " > td").removeClass('selected');
        $("#delete").hide();
        $("#delete-all").hide();
        var arr = {
            id: null
        }
        console.log(arr.id);
    } else {
        $("tr.tr" + $(this).data('id') + " > td").addClass('selected');
        $("#delete").show();
        $("#delete-all").show();

        dataOne.push({id: $(this).data('id'), name: $(this).data('id')})
        dataTwo.id = dataTwo.id?.push($(this).data('id'))
        dataTwo.name = dataTwo.name?.push($(this).data('id'))
        console.log(dataOne);
        console.log(dataTwo);
    }
});

سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 2 سال پیش مطرح شد
1

سلام شما باید تایپ موردنظرتو مشخص کنی. برای اینکار باید از object یا array استفاده کنید.
تایپ array:

const cars = ["Saab", "Volvo", "BMW"];

تایپ object:

const car = {type:"Fiat", model:"500", color:"white"};

پس اگر شما میخواید با array کار کنید:

let cars = [$(this).data('id')];
cars.push("Kiwi");

یا اگر شما میخواید با object کار کنید:

let car = {id: $(this).data('id')};
car.name = $(this).data('id')

محمدرضا فلکی
تخصص : Learning Laravel
@m.reza6920 2 سال پیش مطرح شد
0

@sinashahoveisi اضافه نشدن به هم که :
 تصویر

من میخوام توی لاگ دوم ۱۱ و ۱۰ کنار هم باشن!
و همینطور توی لاگ های بعدی همشون تو آبجکت باشن.


سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 2 سال پیش مطرح شد
محمدرضا فلکی
تخصص : Learning Laravel
@m.reza6920 2 سال پیش مطرح شد
0

@sinashahoveisi

$('table').on('click', 'button.delete', function(e) {

    if ($("tr.tr" + $(this).data('id') + " > td").hasClass('selected')) {
        $("tr.tr" + $(this).data('id') + " > td").removeClass('selected');
        $("#delete").hide();
        $("#delete-all").hide();
        var arr = {
            id: null
        }
        console.log(arr.id);
    } else {
        $("tr.tr" + $(this).data('id') + " > td").addClass('selected');
        $("#delete").show();
        $("#delete-all").show();

        let arr = {
            id: $(this).data('id')
        };
        arr.name = $(this).data('id');

        console.log(arr);
    }
});

سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 2 سال پیش آپدیت شد
1

بیا این دو مدل دیتا

let dataOne = [];
let dataTwo = {id: [], name: []}
$('table').on('click', 'button.delete', function(e) {

    if ($("tr.tr" + $(this).data('id') + " > td").hasClass('selected')) {
        $("tr.tr" + $(this).data('id') + " > td").removeClass('selected');
        $("#delete").hide();
        $("#delete-all").hide();
        var arr = {
            id: null
        }
        console.log(arr.id);
    } else {
        $("tr.tr" + $(this).data('id') + " > td").addClass('selected');
        $("#delete").show();
        $("#delete-all").show();

        dataOne.push({id: $(this).data('id'), name: $(this).data('id')})
        dataTwo.id = dataTwo.id?.push($(this).data('id'))
        dataTwo.name = dataTwo.name?.push($(this).data('id'))
        console.log(dataOne);
        console.log(dataTwo);
    }
});

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

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