תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    autocomplete רשימת הצעות להשלמה בתוך textarea ולא מחוץ לזה

    תכנות
    3
    8
    109
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגב כנושא
    התחבר בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • I
      ivrtikshoret נערך לאחרונה על ידי

      כתבתי קוד של השלמה אוטומטית הבעייה שהוא מביא לי את כל ההשלמות מחוץ לתיבה יש אפשרות שיביא את הנתונים מעל או מתחת לשורה בו אני נמצא עכשיו ולא מחוץ לתיבה
      מצורף הקוד:
      http://jsfiddle.net/1pLr437a/1/
      אני רוצה שזה ייראה כך:
      383d4c4b-1255-4403-a0e8-0bc74d63da8a-image.png

      חגי תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • חגי
        חגי @ivrtikshoret נערך לאחרונה על ידי חגי

        @ivrtikshoret
        אם אתה רוצה פיתרון קל, תחליף את הtextarea ב-contenteditable, ואז תוכל לקרוא את המיקום שלו ישירות בJS, ואז אתה עושה משהו כזה:

        .autocomplete({
            open: function( event, ui ) {
            var input = $( event.target ),
                widget = input.autocomplete( "widget" ),
                style = $.extend( input.css( [
                    "font",
                    "border-left",
                    "padding-left"
                ] ), {
                    position: "absolute",
                    visibility: "hidden",
                    "padding-right": 0,
                    "border-right": 0,
                    "white-space": "pre"
                } );
            var pos = { at: {x: 0, y: 0}};
            input.autocomplete( "option", "position", pos );
            widget.position( $.extend( { of: input }, pos ) );
        },
        

        אם אתה רוצה פיתרון קשה - אז האפשרויות הן יצירה של CANVAS ולחשב עליו את הoffset(פחות מומלץ) או DIV ולשים אותם מחוץ למסך (position absolute), ואז לעצב אותם בדיוק כמו הtextarea, ואז להעתיק לשם עד הטקסט שנמצא ה-caret, ולמקם בסוף הטקסט איזשהו DIV נוסף ולקחת את הOFFSET שלו ביחס לאב, ואז לעשות שוב את התהליך שמתואר לעיל.

        עריכה:
        אתה יכול לנסות למקם contenteditable בדיוק במיקום של הtextarea ו-OPACITY 0, וכל הזמן לסנכרן אותם.

        נ.ב. אני לא בטוח שjquery ui autocomplete עובד עם contenteditable

        עריכה ל-נ.ב.
        https://stackoverflow.com/questions/13324822/autocomplete-with-contenteditable-div-instead-of-textarea-doesnt-seem-to-work

        I תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • I
          ivrtikshoret @חגי נערך לאחרונה על ידי

          @חגי
          הבעיה שאין לי אפשרות לשנות את זה כי זה נמצא באתר שלא שייך אליי

          A חגי 2 תגובות תגובה אחרונה תגובה ציטוט 0
          • A
            ayali @ivrtikshoret נערך לאחרונה על ידי

            @ivrtikshoret אני לא יודע בדיוק איך אפשר
            אבל נראה לי שאפשר עם TOOLIP

            I תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • I
              ivrtikshoret @ayali נערך לאחרונה על ידי

              @ayali אמר בautocomplete רשימת הצעות להשלמה בתוך textarea ולא מחוץ לזה:

              @ivrtikshoret אני לא יודע בדיוק איך אפשר
              אבל נראה לי שאפשר עם TOOLIP

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

              תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • חגי
                חגי @ivrtikshoret נערך לאחרונה על ידי

                @ivrtikshoret
                אם יש לך אפשרות להריץ שם jquery, אז פשוט תשתמש בreplaceWith 🙂

                I תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • I
                  ivrtikshoret @חגי נערך לאחרונה על ידי

                  @חגי אמר בautocomplete רשימת הצעות להשלמה בתוך textarea ולא מחוץ לזה:

                  @ivrtikshoret
                  אם יש לך אפשרות להריץ שם jquery, אז פשוט תשתמש בreplaceWith 🙂

                  אוקיי ומה זה יעזור לי?

                  חגי תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • חגי
                    חגי @ivrtikshoret נערך לאחרונה על ידי חגי

                    @ivrtikshoret
                    להחליף את הtextarea ב-contenteditable (תוסיף גם name=textarea.name, ופרוקסי לפונקציית ()VAL. כדי שזה יעבוד בצורה שקופה)

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • 1 / 1
                    • פוסט ראשון
                      פוסט אחרון
                    בא תתחבר לדף היומי!