Ergebnis 1 bis 4 von 4
  1. #1
    CM6687 ist offline Grünschnabel
    registriert
    11-11-2020
    Beiträge
    3

    Funktions aufruf ohne event

    Hallo zusammen,

    vorab, ich bin ein totaler JS noob!
    Falls ich mich mit meinem Topic hier falsch befinde, tut es mir leid, weißt mich drauf hin und ich korrigiere das.

    Ich betreibe eine Seite in der ich JS anwenden muss, zwecks einem LiveSearch (PHP,JS,MYSQL).

    Folgendes Problem:

    Code:
                <style type="text/css">
        body{
            font-family: Arail, sans-serif;
        }
        /* Formatting search box */
        .search-box-name{
            width: 250px;
            position: relative;
            display: CODE-block;
            font-size: 14px;
            
        }
        .search-box-name input[type="text"]{
            height: 32px;
            padding: 5px 10px;
            border: 1px solid #CCCCCC;
            font-size: 14px;
            
        }
        .result{
            position: absolute;
            z-index: 999;
            top: 100%;
            left: 0;
            background: #ffffff;
            
            
        }
        .search-box-name input[type="text"], .result{
            width: 100%;
            box-sizing: border-box;
            
            
        }
        /* Formatting result items */
        .result p{
            margin: 0;
            padding: 7px 10px;
            border: 1px solid #CCCCCC;
            border-top: none;
            
            
        }
        .result p:hover{
            background: #f2f2f2;
            
        }
    </style>
    
                <script src="js/jquery-1.12.4.min.js"></script>
                <script type="text/javascript" >
                
                $(document).ready(function(){
                    $(".search-box-name input[type='text']").on("keyup input", function(){
                        /* Get input value on change */
                        var inputVal = $(this).val();
                        var resultDropdown = $(this).siblings(".result");
                        if(inputVal.length){
                            $.get("name-backend-search.php", {term: inputVal}).done(function(data){
                                // Display the returned data in browser
                                resultDropdown.html(data);
                            });
                        } else{
                            resultDropdown.empty();
                        }
                    });
                    
                    // Set search input value on click of result item
                    
                    $(document).on("click", ".result p", function(){
                        $(this).parents(".search-box-name").find('input[type="text"]').val($(this).text());
                        $(this).parent(".result").empty();
                    });
                });
                </script>
    mit diesem Code führe ich einen LiveSearch aus die ich wiederrum mit den folgenden DIV´s mir im Browser Anzeigen lassen kann.


    $div =
    Code:
    <div class="search-box-name"><input type="text" id="updatename" autocomplete="off" class="form-control" name="rows[]"  maxlength="50" placeholder="name"  style="background-color: #33FF99"/><div class="result"></div></div>
    Das Funktioniert soweit. Schaue ich im Browser nach, steht auch ein event hinter dem Inputfield.

    Jedoch, wenn ich die DIV´s in folgendem JS einbinden möchte, Funktioniert der LiveSearch nicht mehr....

    Code:
    			function addRow' . $rowName . '(){
    				var table = document.getElementById("rowTable' . $rowName . '");
    				var newRow = table.insertRow(-1);
    				var cell = newRow.insertCell(0);
                                     cell.innerHTML = \' '.$div.'\';
                        
    			}
    Klick ich auf den Button, welcher die function addRow ausführt, in der die LiveSearch Div´s drin sind. Funktioniert der LiveSearch wie gesagt nicht mehr.
    Schaue ich im Browser nach, fehlt ihm das Event dazu....

    Daher die bitte und HILFE für mein Problem. Ich kann mir das nicht erklären...
    Eine Vermutung habe ich, dass er die Referenz zu der LiveSearch funktion verliert.^^

    Vielen Dank vor ab!

    Gruß
    CM6687

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.306

    AW: Funktions aufruf ohne event

    Zitat Zitat von CM6687 Beitrag anzeigen
    Schaue ich im Browser nach, fehlt ihm das Event dazu....
    Du hast ja auch kein Event hinzugefügt (so wie beim start-up) ... woher soll da das Event kommen.

    Für diesen Fall bieten sich "delegated events" an (https://learn.jquery.com/events/event-delegation/).

  3. #3
    CM6687 ist offline Grünschnabel
    registriert
    11-11-2020
    Beiträge
    3

    AW: Funktions aufruf ohne event

    Vielen Dank für deine Antwort.

    Ich bin dran, dass mal umzusetzen!

  4. #4
    CM6687 ist offline Grünschnabel
    registriert
    11-11-2020
    Beiträge
    3

    AW: Funktions aufruf ohne event

    Zitat Zitat von Dormilich Beitrag anzeigen
    Du hast ja auch kein Event hinzugefügt (so wie beim start-up) ... woher soll da das Event kommen.

    Für diesen Fall bieten sich "delegated events" an (https://learn.jquery.com/events/event-delegation/).
    Danke nochmals für deinen Tipp!

    Hab es mittlerweile anders lösen können mit <div focusin = "funktionsaufruf()">

    Dabei bin ich nicht mal ein JavaScript Ass...

Ähnliche Themen

  1. this-Variable undefined bei Aufruf durch Event
    Von marcoh20 im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 14-06-2011, 12:26
  2. Weiterleitung + Funktions aufruf
    Von sonix im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 23-09-2009, 14:27
  3. Antworten: 1
    Letzter Beitrag: 08-04-2009, 11:03
  4. Funktions-Aufruf für Tasten-Info vereinfachen...?
    Von RainerJS im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 13-08-2007, 15:07
  5. Page-Aufruf ohne Base-Datei unmöglich machen!?
    Von Knowledge-Junkie im Forum Serverseitige Programmierung
    Antworten: 7
    Letzter Beitrag: 18-04-2001, 00:39

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •