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

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

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

Select2: סלקטבוקס לא מציג נתונים

מתוזמן נעוץ נעול הועבר ארכיון code613m
2 פוסטים 1 כותבים 206 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #1

    לילה טוב לכולם!!
    אני משתמש בספריה הנ"ל, ומקבל את הדטה ע"י ajax. בהתחלה יש לי פקד סלקטבוקס ריק, המשתמש אמור להזין אותיות לחיפוש שנשלחות לשרת, והוא מחזיר את כל התוצאות האפשריות, ומהם המשתמש אמור לבחור שם מסוים.
    כתבתי את הקוד, הכל לכאו' עובד אולם כשאני מקליד מילה בפקד הסלקטבוקס כותב שאין תוצאות.
    כשאני מדבאג, בכרטיסיה network אני רואה שהוא אכן שולח בקשה ומקבל תשובה עם סטטוס 200, כמו כן בחלונית של התשובה אני רואה את האובייקט של כל המידע שהגיע. זה מערך של אובייקטים שכל אובייקט מכיל: text וערך, id וערך. כמו שהסלקט מצפה לקבל. אם כן הכל לכאו' עובד ותקין, אולם הסלקטבוקס לא יודע לשייך את המידע לפקד 😮 😮
    התיעוד שלהם לוקה בחסר.. (זה נראה שלגירסה 4 הם התעצלו לכתוב תיעוד.. בניגוד לגרסא 3.5 שיש עליה הרבה יותר תיעוד.. עיין כאן אם כי ניסיתי את מה שכתוב שם וגם זה לא עוזר.. ) כי אני כבר שעות יושב עליו ומנסה להבין מדוע זה לא עובד וניסיתי כ"כ הרבה אפשרויות..
    אני אשמח אם מישהו התנסה בזה ויוכל לעזור לי...
    תודה רבה רבה!!!

    הנה הקוד (זה חלק מפונקציה רחבה יותר, שמקבלת מערך של סלקטבוקסים קוראת את הנתונים שלהם והופכת אותם לסלקט2):

    $(idElement).select2({
                language: "he",
                dir: "rtl",
                style: "width: 100%",
                ajax: {
                    url: item.url,
                    dataType: 'json',
                    delay: 250,
                    //אנו מעבדים את הפרמטרים המוחזרים על ידי סלקט2 ומתאימים אותם לערכים שהשרת מצפה לקבל
                    data: function (params) {
                        params.page = params.page || 1;
                        return {
                            UserId: item.userId ? item.userId : 0,
                            TextTyped: params.term, // search term
                            Skip: (params.page == 1) ? 0 : item.take * (params.page - 1),
                            Take: item.take
                       //page: params.page  
                        };
                    },
                    processResults: function (data, params) {
                        params.page = params.page || 1;
                                           
                        return {                        
                            results: data.item,
                            pagination: {
                                more: (params.page * 30) < data.total_count
                            }
                        };
                    },
                    cache: true
                },            
                escapeMarkup: function (markup) { return markup; }, 
                minimumInputLength: 2,
                templateResult:function(item) {
                        var originalOption = item.element;
                        return item.text
                         }, 
                templateSelection: function (item) {
                                     var originalOption = item.element;
                                     return item.text;
                       }
            });
    

    תודה רבה רבה!!

    פורסם במקור בפורום CODE613 ב26/01/2016 22:08 (+02:00)

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

      נראה לי שלפורום היקר שלנו יש סגולה מיוחדת, שבזכות זה שמפרסמים בו את השאלה מיד לאחר מכן זוכים למצוא את התשובה :lol: :lol:
      זה כבר קרה לי כמה פעמים 🙂
      אז לאחר כשלוש שעות שאני יושב ומחפש פה ושם ושום דבר לא עוזר..
      מצאתי את הפתרון:
      בשורה 24 צריך לכתוב results : data ולא data.item
      אני העתקתי את הקוד מהתיעוד שלהם, והקוד הזה טוב כשהjson הוא אובייקט יחיד שבתוך אחד הפרמטרים שלו יש מערך של הנתונים. אולם הjson שלי הוא מערך של אובייקטים ישירות, ולכן צריך לכתוב data/
      כמו כן, את שורה 32 ושורות 34-41 אפשר למחוק.. אא"כ רוצים להגדיר תבנית מיוחדת להצגת התוצאות (כגון להוסיף תמונה וכדו'.)

      לילה טוב ומושלג..

      פורסם במקור בפורום CODE613 ב26/01/2016 22:20 (+02:00)

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

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

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

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