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

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

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

עזרה (קטנה?) בקוד

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 3 כותבים 1.4k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    אני רוצה לעשות את זה אבל בלי jQuery (זה של select2)

    $('.js-example-basic-multiple').select2({
     	tags: true,
        tokenSeparators: [',', ' '],
    });
    

    איך עושים את זה?
    תודה מראש

    תגובה 1 תגובה אחרונה
    0
    • מנצפךמ מנותק
      מנצפךמ מנותק
      מנצפך
      כתב ב נערך לאחרונה על ידי
      #2

      אולי זה:

      document.getElementsByClassName('js-example-basic-multiple')[0].select2({
       	tags: true,
          tokenSeparators: [',', ' '],
      });
      
      תגובה 1 תגובה אחרונה
      0
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        לא מבין, למה בלי jQuery? הספריה הזו בכל מקרה דורשת jQuery.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

          למעשה כרגע השגיאה האחרונה שקיבלתי היתה

           Uncaught TypeError: $(...).select2 is not a function
               at c.init (<anonymous>:7:28)
               at c (core-compiled.js?_v=adc54a0b:117)
               at e (core-compiled.js?_v=adc54a0b:117)
               at HTMLSelectElement.<anonymous> (core-compiled.js?_v=adc54a0b:117)
               at Function.each (jquery-3.2.1.min.js?_v=adc54a0b:2)
               at r.fn.init.each (jquery-3.2.1.min.js?_v=adc54a0b:2)
               at Object.f [as initialize] (core-compiled.js?_v=adc54a0b:117)
               at Object.activate (core-compiled.js?_v=adc54a0b:43)
               at core-compiled.js?_v=adc54a0b:239
               at HTMLDivElement.complete (core-compiled.js?_v=adc54a0b:14)
          
          תגובה 1 תגובה אחרונה
          0
          • מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #5

            לדעתי:
            זה לא שגיאה של jquery, אלא במשהו אחר. אולי ב select2. הוא פשוט לא מוצא את הפונקציה.

            $(...).select2 is not a function
            

            אין הבדל אם תיגש עם JS טהור.

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

              יש שגיאה כל שהיא בקונסול?

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                השגיאה שכתבתי בהתחלה היתה בקונסול (וכמו שכתב @מנצפך השגיאה קיימת גם בלי jquery).

                תגובה 1 תגובה אחרונה
                0
                • dovidD מחובר
                  dovidD מחובר
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @chagold ברור, התכוונתי אם יש שגיאה אחרת לפני כן.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                    לא

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

                      אולי הסיבה שהוא לא מזהה זה כיון שהייבוא לא מגיע לאותו הסקופ.

                      כיון שהקוד כרגע הוא ככה

                      <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
                        
                      <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
                       
                      <script>
                        
                      XF.Runselect = XF.Element.newHandler({
                        
                       init: function(){
                        
                          $('.js-example-basic-multiple').select2({
                             tags: true,
                             tokenSeparators: [',', ' '],
                          });
                          this.alert();
                      },
                      
                      alert: function(){
                          alert('The text changed to red and underline...');
                        }
                      });
                        
                        
                       XF.Element.register('Runselect', 'XF.Runselect');
                      
                      </script>
                      
                      <xf:select data-xf-init="Runselect " class="js-example-basic-multiple" multiple="multiple">
                      	
                      	<xf:option value="1">
                      		orange
                      	</xf:option>
                      	<xf:option value="2">
                      		apple
                      	</xf:option>
                      	<xf:option value="1">
                      		banana
                      	</xf:option>
                      	
                      </xf:select>
                      

                      כלומר הפונקציה נמצאת בתוך סקופ של XF לעומת שורת הרפרנס שנמצאת בחוץ.
                      יש צורה לקרוא לקוד של הרפרנס מתוך הסקופ ולא ברפרנס למעלה?

                      מנצפךמ תגובה 1 תגובה אחרונה
                      0
                      • dovidD מחובר
                        dovidD מחובר
                        dovid ניהול
                        כתב ב נערך לאחרונה על ידי dovid
                        #11

                        לא רואה שום סיבה שלא יעבוד.
                        ממילא קשה לי להביא פתרונות.
                        תוכל לוודא שהjQuery עובד ע"י console.log
                        לערכים:
                        $
                        select2

                        בstackoverflow כתוב שלעיתים זה לא עובד בגלל טעינה כפולה של jQuey. תבדוק את זה בבקשות בכרטסת network של כלי המפתחים בדפדפן.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        chagoldC תגובה 1 תגובה אחרונה
                        2
                        • מנצפךמ מנותק
                          מנצפךמ מנותק
                          מנצפך
                          השיב לchagold ב נערך לאחרונה על ידי
                          #12

                          @chagold לא חושב. הוא אמור להחיל את האלמנט להיות select2 וזה אמור להיות נגיש מכל המסמך. (לא התעמקתי ואני גם כלל לא מכיר את select2).
                          אולי תשתף את כל הקוד בצורה נורמלית באתר כמו CodePen וכדו?

                          chagoldC תגובה 1 תגובה אחרונה
                          0
                          • chagoldC מנותק
                            chagoldC מנותק
                            chagold
                            השיב למנצפך ב נערך לאחרונה על ידי chagold
                            #13

                            @מנצפך אמר בעזרה (קטנה?) בקוד:

                            אולי תשתף את כל הקוד בצורה נורמלית באתר כמו CodePen וכדו?

                            טכנית אין אפשרות כי זה בתוך הפרימוורק שלהם☹

                            מנצפךמ תגובה 1 תגובה אחרונה
                            0
                            • chagoldC מנותק
                              chagoldC מנותק
                              chagold
                              השיב לdovid ב נערך לאחרונה על ידי chagold
                              #14

                              @dovid אמר בעזרה (קטנה?) בקוד:

                              לא רואה שום סיבה שלא יעבוד.
                              ממילא קשה לי להביא פתרונות.
                              תוכל לוודא שהjQuery עובד ע"י console.log
                              לערכים:
                              $
                              select2

                              בstackoverflow כתוב שלעיתים זה לא עובד בגלל טעינה כפולה של jQuey. תבדוק את זה בבקשות בכרטסת network של כלי המפתחים בדפדפן.

                              זה הלוג אחרי שהרצתי את הפקודות הנ"ל. = אין לו את select2

                               $
                               ƒ (a,b){return new r.fn.init(a,b)}
                               select2
                               VM4287:1 Uncaught ReferenceError: select2 is not defined
                                   at <anonymous>:1:1
                              
                               console.log($)
                               VM4406:1 ƒ (a,b){return new r.fn.init(a,b)}
                               undefined
                               console.log(select2)
                               VM4421:1 Uncaught ReferenceError: select2 is not defined
                                   at <anonymous>:1:13
                              

                              עריכה: התוצאה דומה גם כשהרצתי את זה מתוך הקוד ולא רק בקוסנסולה.

                              תגובה 1 תגובה אחרונה
                              0
                              • מנצפךמ מנותק
                                מנצפךמ מנותק
                                מנצפך
                                השיב לchagold ב נערך לאחרונה על ידי
                                #15

                                @chagold אמר בעזרה (קטנה?) בקוד:

                                טכנית אין אפשרות כי זה בתוך הפרימוורק שלהם

                                לא הבנתי.

                                chagoldC תגובה 1 תגובה אחרונה
                                0
                                • chagoldC מנותק
                                  chagoldC מנותק
                                  chagold
                                  השיב למנצפך ב נערך לאחרונה על ידי
                                  #16

                                  @מנצפך אמר בעזרה (קטנה?) בקוד:

                                  @chagold אמר בעזרה (קטנה?) בקוד:

                                  טכנית אין אפשרות כי זה בתוך הפרימוורק שלהם

                                  לא הבנתי.

                                  זה מערכת פורומים שיש להם טכניקה ספציפית שלהם כדי שאני יוכל להריץ פונקציות (כמו שרואים בקוד שהבאתי לעיל). אין לי אפשרות להכניס את הטכניקה שלהם לתוך codepen.

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • dovidD מחובר
                                    dovidD מחובר
                                    dovid ניהול
                                    כתב ב נערך לאחרונה על ידי
                                    #17

                                    @chagold אמר בעזרה (קטנה?) בקוד:

                                    $('.js-example-basic-multiple').select2({
                                    tags: true,
                                    tokenSeparators: [',', ' '],
                                    });

                                    נסה לעטוף את הקוד בפונקציית jquery נוספת, ככה:

                                    $(function(){
                                        $('.js-example-basic-multiple').select2({
                                         	tags: true,
                                            tokenSeparators: [',', ' '],
                                        });
                                    });
                                    

                                    המשמעות של זה היא onReady. פה זה עזר למישהו https://stackoverflow.com/a/43391779/1271037

                                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                      0_1539206545858_a2f4cf0d-0a20-4cc2-a16c-413455ec0e4c-image.png
                                      יש אולי אפשרות דומה שתריץ לאחר קריאת כל המסמך?

                                      תודה על הכל

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

                                        אבל למעשה גם כשאני מריץ את הפונקציה בקונסולה זה מביא את אותה שגיאה.
                                        לדעתי הוא לא מקבל את הספריה של הselect2. ואת זה צריך לפתור

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

                                          @dovid אמר בעזרה (קטנה?) בקוד:

                                          התברר שהתוכנה של XENFORO משתמשת באיזה מקום בפורום שלהם ב-SELECT2, מה שמאשש את הכיוון של @dovid שהסיבה היא שיש פעמיים קריאה לקוד

                                          ניסתי ללכוד את הקוד שהם השתמשו איתו לצרכי, ללא הצלחה.

                                          אז ניסיתי עכשיו להתשמש עם ספריה אחרת בשם chosen אבל התוודעתי לכך שהשגיאה נמצאת ם שם. אולי כיון שselect2 בנוי על chosen.

                                          יש ספריה שלישית שאני יכול לממש איתה את זה אולי?

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

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

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

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