דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. סינון מותאם אישית בdatatables

סינון מותאם אישית בdatatables

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 4 כותבים 352 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD dovid

    אין לי מושג אני אפילו לא בדקתי בלי קוד קשה לי לשחק.

    chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #5

    https://jsfiddle.net/m6zynquh/

    תודה

    dovidD תגובה 1 תגובה אחרונה
    0
    • chagoldC chagold

      https://jsfiddle.net/m6zynquh/

      תודה

      dovidD מנותק
      dovidD מנותק
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי
      #6

      @chagold התאריכים בדוגמה שלך הם בפורמט לא סטנדרטי (yyyy/mm/dd).
      מפריע לך שהם יהיו בפורמט הקלאסי של dd/mm/yyyy (בדיוק הפוך)?
      נראה לי שזה יסדר את הבעיה בלי צורך בקוד נוסף.
      כמו"כ תעבור על דף זה https://datatables.net/blog/2014-12-18 זה נראה שזה נותן שכלולים מעניינים.

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      chagoldC yossizY 2 תגובות תגובה אחרונה
      2
      • dovidD dovid

        @chagold התאריכים בדוגמה שלך הם בפורמט לא סטנדרטי (yyyy/mm/dd).
        מפריע לך שהם יהיו בפורמט הקלאסי של dd/mm/yyyy (בדיוק הפוך)?
        נראה לי שזה יסדר את הבעיה בלי צורך בקוד נוסף.
        כמו"כ תעבור על דף זה https://datatables.net/blog/2014-12-18 זה נראה שזה נותן שכלולים מעניינים.

        chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #7

        @dovid שיניתי את הפורמט
        https://jsfiddle.net/o9hcxLq2/

        yossizY תגובה 1 תגובה אחרונה
        0
        • chagoldC chagold

          @dovid שיניתי את הפורמט
          https://jsfiddle.net/o9hcxLq2/

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי
          #8

          @chagold
          אתה מצביע על העמודה הלא נכונה של הדאטה:
          במקום:

          var coldate = data[2] 
          

          תעשה:

          var coldate = data[4]
          

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          3
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            כתב ב נערך לאחרונה על ידי
            #9

            בדקתי שוב והתברר שהנתונים הוכנסו לד"ב בצורה שגויה (2003-10-19 במקום 03-10-2019)..
            תודה רבה

            תגובה 1 תגובה אחרונה
            1
            • chagoldC מנותק
              chagoldC מנותק
              chagold
              כתב ב נערך לאחרונה על ידי chagold
              #10

              במקרה הזה: https://jsfiddle.net/d7zx80as/1/
              כשאני שם תאריך לסינון, משום מה מוצגים 2732 רשומות מתוך 5,389.

              221465f3-2d5c-4d07-a482-7707ac7f1b4a-image.png

              תגובה 1 תגובה אחרונה
              0
              • dovidD dovid

                @chagold התאריכים בדוגמה שלך הם בפורמט לא סטנדרטי (yyyy/mm/dd).
                מפריע לך שהם יהיו בפורמט הקלאסי של dd/mm/yyyy (בדיוק הפוך)?
                נראה לי שזה יסדר את הבעיה בלי צורך בקוד נוסף.
                כמו"כ תעבור על דף זה https://datatables.net/blog/2014-12-18 זה נראה שזה נותן שכלולים מעניינים.

                yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי yossiz
                #11

                @dovid אמר בסינון מותאם אישית בdatatables:

                @chagold התאריכים בדוגמה שלך הם בפורמט לא סטנדרטי (yyyy/mm/dd).
                מפריע לך שהם יהיו בפורמט הקלאסי של dd/mm/yyyy (בדיוק הפוך)?
                נראה לי שזה יסדר את הבעיה בלי צורך בקוד נוסף.

                @dovid חבל שלא היית בוועדת ההיגוי של השפה... 🙂 כי גם אני סבור כמוך אבל למעשה נראה שזה בדיוק הפוך. yyyy/mm/dd ו-mm/dd/yyyy הם חוקיים, אבל dd/mm/yyyy לא חוקי...

                var options = { year: 'numeric', month: 'long', day: 'numeric' }
                
                new Date('01/12/2020').toLocaleDateString('en-uk', options)
                // "January 12, 2020"
                new Date('12/01/2020').toLocaleDateString('en-uk', options)
                // "December 1, 2020"
                new Date('13/01/2020').toLocaleDateString('en-uk', options)
                // "Invalid Date"
                new Date('2020/12/01').toLocaleDateString('en-uk', options)
                // "December 1, 2020"
                

                @chagold לעניינך, יוצא שיש לך מחרוזות תאריך ש-Date.parse לא יודעת לפרסר (כאשר ה"יום" - שמפורסר כחודש - הוא מ-13 ומעלה), לכן הם מחזירים NaN.
                מכיון ש:

                NaN <= NaN   //false
                NaN <= 1     //false
                1 <= NaN     //false
                

                לכן כל רשומה שה"יום" הוא מ-13+ מחזיר false.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                dovidD תגובה 1 תגובה אחרונה
                4
                • yossizY yossiz

                  @dovid אמר בסינון מותאם אישית בdatatables:

                  @chagold התאריכים בדוגמה שלך הם בפורמט לא סטנדרטי (yyyy/mm/dd).
                  מפריע לך שהם יהיו בפורמט הקלאסי של dd/mm/yyyy (בדיוק הפוך)?
                  נראה לי שזה יסדר את הבעיה בלי צורך בקוד נוסף.

                  @dovid חבל שלא היית בוועדת ההיגוי של השפה... 🙂 כי גם אני סבור כמוך אבל למעשה נראה שזה בדיוק הפוך. yyyy/mm/dd ו-mm/dd/yyyy הם חוקיים, אבל dd/mm/yyyy לא חוקי...

                  var options = { year: 'numeric', month: 'long', day: 'numeric' }
                  
                  new Date('01/12/2020').toLocaleDateString('en-uk', options)
                  // "January 12, 2020"
                  new Date('12/01/2020').toLocaleDateString('en-uk', options)
                  // "December 1, 2020"
                  new Date('13/01/2020').toLocaleDateString('en-uk', options)
                  // "Invalid Date"
                  new Date('2020/12/01').toLocaleDateString('en-uk', options)
                  // "December 1, 2020"
                  

                  @chagold לעניינך, יוצא שיש לך מחרוזות תאריך ש-Date.parse לא יודעת לפרסר (כאשר ה"יום" - שמפורסר כחודש - הוא מ-13 ומעלה), לכן הם מחזירים NaN.
                  מכיון ש:

                  NaN <= NaN   //false
                  NaN <= 1     //false
                  1 <= NaN     //false
                  

                  לכן כל רשומה שה"יום" הוא מ-13+ מחזיר false.

                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #12

                  @yossiz אח"כ שמתי לב לזה, אבל כבר לא היה לי כח כי תוסכלתי מהמרחק בין התיעוד לבין התוצאות שעלו לי בנסיונות.
                  כנראה זה משוגה שלי אבל בפועל כל מה שהם כתבו לא עבהד לי, למשל הם כותבים שמרבית הפלאגינים הם אוטמטיים בגלל פלאגין של autodetect ובפועל כלום לא היה לי אוטומטי, כמו"כ הם שמים את קוד date-euro שלא מפסיק התבוננתי בו אבל הוא פשוט לא עבד לי, בקיצור לא היה לי "עצבים"...

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  תגובה 1 תגובה אחרונה
                  3
                  • chagoldC מנותק
                    chagoldC מנותק
                    chagold
                    כתב ב נערך לאחרונה על ידי chagold
                    #13

                    טוב, אני מרגיש בחברה של גדולים כשהבאגים שלי לא ניתנים לפיתרון...
                    מה שלא יעזור לי בנוגע ללקוח שלי...
                    יש מה לעשות בענין?

                    או אולי - לא הבנתי (בכ"א במבט ראשון) איזה תנאי אני עושה לקלוט את הימים מעל 13 כדי להחזיר אותם לtrue?

                    @dovid ן @yossiz תודה עצומה על הנסיונות לפתור ולהתמודד לא רק עם קוד אלא גם עם שגיאות מעצבנות..

                    yossizY תגובה 1 תגובה אחרונה
                    0
                    • chagoldC chagold

                      טוב, אני מרגיש בחברה של גדולים כשהבאגים שלי לא ניתנים לפיתרון...
                      מה שלא יעזור לי בנוגע ללקוח שלי...
                      יש מה לעשות בענין?

                      או אולי - לא הבנתי (בכ"א במבט ראשון) איזה תנאי אני עושה לקלוט את הימים מעל 13 כדי להחזיר אותם לtrue?

                      @dovid ן @yossiz תודה עצומה על הנסיונות לפתור ולהתמודד לא רק עם קוד אלא גם עם שגיאות מעצבנות..

                      yossizY מנותק
                      yossizY מנותק
                      yossiz
                      כתב ב נערך לאחרונה על ידי yossiz
                      #14

                      @chagold אמר בסינון מותאם אישית בdatatables:

                      הבאגים שלי לא ניתנים לפיתרון

                      למה לא ניתנים לפיתרון?
                      הפתרון פשוט להביא את התאריך ל-Date.parse בפורמט הנכון.
                      אפשר להוסיף שורה זו להחליף את היום והחודש:

                      coldate = coldate.replace(/^(..\/)(..\/)/, '$2$1');
                      

                      עריכה: אני רואה שהשימוש ב-Date.parse הוא קצת בעייתי לשימוש בצורה חוצה דפדפנים כי אין כללים ברורים איך אמורים לפרסר את התאריך. הפורמט היחיד שמוגדר ב-ES5 הוא yyyy-mm-dd. יש ספרייה בשם moment.js עבור פרסור תאריכים.
                      עיין עוד:
                      https://stackoverflow.com/questions/51715259/what-are-valid-date-time-strings-in-javascript/
                      http://blog.dygraphs.com/2012/03/javascript-and-dates-what-mess.html

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      תגובה 1 תגובה אחרונה
                      2
                      • clickoneC מנותק
                        clickoneC מנותק
                        clickone
                        כתב ב נערך לאחרונה על ידי
                        #15

                        כפיתרון אמצע מעצבן, הייתי מציע בינתיים להחזירר מהשרת עוד עמודת תאריך בפורמט שהוא מצפה לו, (ושיהיה מוסתר כמובן) ולעשות את הפילטר עליו.
                        נכון שזה עקום לבינתיים, אבל אם זה עושה לך בלגן עם הלקוח זה עדיף 😞

                        אין טסט כמו פרודקשן.

                        המייל שלי urivpn@gmail.com

                        chagoldC תגובה 1 תגובה אחרונה
                        1
                        • clickoneC clickone

                          כפיתרון אמצע מעצבן, הייתי מציע בינתיים להחזירר מהשרת עוד עמודת תאריך בפורמט שהוא מצפה לו, (ושיהיה מוסתר כמובן) ולעשות את הפילטר עליו.
                          נכון שזה עקום לבינתיים, אבל אם זה עושה לך בלגן עם הלקוח זה עדיף 😞

                          chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          כתב ב נערך לאחרונה על ידי
                          #16

                          @clickone זה מה שעשיתי בסוף.

                          תגובה 1 תגובה אחרונה
                          1
                          תגובה
                          • תגובה כנושא
                          התחברו כדי לפרסם תגובה
                          • מהישן לחדש
                          • מהחדש לישן
                          • הכי הרבה הצבעות


                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום