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

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

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

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

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

    https://jsfiddle.net/m6zynquh/

    תודה

    dovidD תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לchagold ב נערך לאחרונה על ידי
      #6

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

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

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

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לchagold ב נערך לאחרונה על ידי
          #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
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לdovid ב נערך לאחרונה על ידי 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
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #12

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

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

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

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

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

                    yossizY תגובה 1 תגובה אחרונה
                    0
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב לchagold ב נערך לאחרונה על ידי 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
                        • chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          השיב לclickone ב נערך לאחרונה על ידי
                          #16

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

                          תגובה 1 תגובה אחרונה
                          1

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

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

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