Drupal user
Fórum
Drupal version

Ahoj nadpis zní trochu složitě, ale v podstatě jde o následující. Mám políčko s funkcí autocomplete. A do něj naskenuji pomocí čárového kodu nějaké hodnoty např. 123456789 (tj. čárový kod) bohužel se funkce autocomplete nespustí, ale ajax požadavek na server dorazí resp. nezobrazí se vysouvací nabídka s výsledkem jako to bývá u našeptávačů zvykem. Zjistila jsem, že když do políčka s naskenovanou hodnotou kliknu na konec a pak stisknu např. klávesu mezerníku tak se nabídka našeptávače zobrazí. Takže jsem došla k závěru, že našeptávač resp. funkce autocomplete  je závislá na stisknutí klávesy. Googlovala jsem a opravdu podle několika podobných příspevků různě na netu je to navázáno na keyup...takže jsem dál hledala a našla tohle a lehce upravila:

            var e = $.Event('keyup'); // Create an event to trigger
            e.which = 32; // Add the keyCode (32 is a space, but it shouldn't matter)
            e.keyCode= 32;
            // Set the field value, focus on the field, then trigger the event
            $('#edit-scanner-console-book-isbn').val(barcode).trigger(e);

Bohužel ani po simulování uvolnění klávesy se nic neděje a vše je při starém...

Můžete mi prosím poradit kde dělám chybu?

ještě doplním... vycházela jsem z tohoto příspěvku how to set value of autocomplete field and trigger search event with jquery

Děkuji moc

Tak jsem to už vyřešila :-)

Stačí chvilku počkat...a když po necelé vteřině již nic nepřijde (scannery čárových kodů jsou rychlé) má se zato, že byl celý čárový kód načten:
                setTimeout(function() { 
                  var e = $.Event('keyup'); // Create an event to trigger
                  e.which = 32; // Add the keyCode (32 is a space, but it shouldn't matter)
                  e.keyCode= 32;
                  $('#edit-scanner-console-book-isbn').val(barcode).focus().trigger(e);
                }, 800);

Přidat komentář

Která řeka protéká Prahou?