محمود_سعداوي نشر 7 أكتوبر 2022 أرسل تقرير مشاركة نشر 7 أكتوبر 2022 لنفترض لدي المصفوفة التالية: كيف يمكنني سحب عنصر من هذه المصفوفة عند الضغط على زر محدد. (يعني كل زر يمثل عنصر من المصفوفة) في الواقع قمت بتجربة array.splice لكن أحيانا الزر يقوم بفسخ العنصر الموالي داخل المصفوفة. قمت أيضا بتجربة array.slice(i, i+1) لكن دون جدوى أيضا. let removeProduct = document.querySelectorAll('.remove-to-cart') removeProduct.forEach((item,i) =>{ item.addEventListener('click', ()=>{ // productsInCart.splice(i,1) // productsInCart.slice(i,i+1) console.log(productsInCart); }) }) شكرا على المساعدة 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 عمر قره محمد نشر 8 أكتوبر 2022 أرسل تقرير مشاركة نشر 8 أكتوبر 2022 تقوم بإضافة الازرار الخاصة بالعناصر باستخدام جافاسكريبت وتمرر من كل منها الـ id الخاص به إلى الوظيفة الخاصة بالحذف : <body> <div id="itemList"></div> <script> // لتكن ههذ هي البيانات الخاصة بك let data = [ { id: 1, name: "بنطار احمر" }, { id: 2, name: "بنطار اخضر" }, { id: 3, name: "بنطار اصفر" }, { id: 4, name: "بنطار جينز" }, ]; // الذي سنضع فيه الازرار في البداية div نحضر ال const htmlList = document.getElementById("itemList"); // نقوم بإضافة زر لكل عنصر من البيانات data.forEach((element) => { // نقوم بإنشاء الزر const myButton = document.createElement("button"); // نعطيع اسم معين وهنا اخترت اسم العنصر myButton.innerText = element.name; // نضيف ويظيفة لتحدث عن النقر عليه myButton.onclick = () => { // الخاص بالعنصر كما نمرر الزر نفسه id نمرر في الوظيفة الـ deleteElement(myButton, element.id); }; htmlList.append(myButton); }); const deleteElement = (Button, id) => { // نحذف الغنصر باستخدان الانر Button.remove(); // للحصول على العنصر الذي تم اختياره const myItem = data.find((element) => element.id === id); console.log("myItem", myItem); // للحصول على العناصر المابقيين data = data.filter((element) => element.id !== id); console.log("data", data); }; </script> </body> في الوظيفة الخاصة بالحذف تقوم بحذف العناصر باستخدام الـ element.remove. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 محمود_سعداوي نشر 8 أكتوبر 2022 الكاتب أرسل تقرير مشاركة نشر 8 أكتوبر 2022 بتاريخ 5 ساعات قال عمر قره محمد: تقوم بإضافة الازرار الخاصة بالعناصر باستخدام جافاسكريبت وتمرر من كل منها الـ id الخاص به إلى الوظيفة الخاصة بالحذف : <body> <div id="itemList"></div> <script> // لتكن ههذ هي البيانات الخاصة بك let data = [ { id: 1, name: "بنطار احمر" }, { id: 2, name: "بنطار اخضر" }, { id: 3, name: "بنطار اصفر" }, { id: 4, name: "بنطار جينز" }, ]; // الذي سنضع فيه الازرار في البداية div نحضر ال const htmlList = document.getElementById("itemList"); // نقوم بإضافة زر لكل عنصر من البيانات data.forEach((element) => { // نقوم بإنشاء الزر const myButton = document.createElement("button"); // نعطيع اسم معين وهنا اخترت اسم العنصر myButton.innerText = element.name; // نضيف ويظيفة لتحدث عن النقر عليه myButton.onclick = () => { // الخاص بالعنصر كما نمرر الزر نفسه id نمرر في الوظيفة الـ deleteElement(myButton, element.id); }; htmlList.append(myButton); }); const deleteElement = (Button, id) => { // نحذف الغنصر باستخدان الانر Button.remove(); // للحصول على العنصر الذي تم اختياره const myItem = data.find((element) => element.id === id); console.log("myItem", myItem); // للحصول على العناصر المابقيين data = data.filter((element) => element.id !== id); console.log("data", data); }; </script> </body> في الوظيفة الخاصة بالحذف تقوم بحذف العناصر باستخدام الـ element.remove. شكرا. لا يمكنني إضافة لأنها بطبعها موجودة. بتاريخ 3 دقائق مضت قال محمود سعداوي: شكرا. لا يمكنني إضافة لأنها بطبعها موجودة. قمت بإضافة data-click لكل زر ثم قمت بعمل filter يعني هي نفس فكرتكم. شكرا. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
محمود_سعداوي
لنفترض لدي المصفوفة التالية:
كيف يمكنني سحب عنصر من هذه المصفوفة عند الضغط على زر محدد. (يعني كل زر يمثل عنصر من المصفوفة)
في الواقع قمت بتجربة array.splice لكن أحيانا الزر يقوم بفسخ العنصر الموالي داخل المصفوفة.
قمت أيضا بتجربة array.slice(i, i+1) لكن دون جدوى أيضا.
شكرا على المساعدة
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.