Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  AJAX Database Live search märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
sakunne
HV veteran
sakunne

liitunud: 15.12.2004




sõnum 22.12.2018 10:47:28 AJAX Database Live search vasta tsitaadiga

Kas keegi teab nõu anda, kuidas saavutada, et onClick kuvaks tulemuse kuskil mujal, nt eraldiseisvas textarea's

    $(document).on("click", ".result p", function(){
        $(this).parents(".search-box").find('input[type="text"]').val($(this).text());
        $(this).parent(".result").empty();
    });
});
</script>
<link href="stiil.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div class="search-box">
    <textarea name="search_box" cols="27" rows="7"></textarea>
        <input type="text" autocomplete="off" placeholder="Nimi, aadress, kood ..." />
        <div class="result"></div>
    </div>

Script ise on pärit siit
https://phphelp.net/unit/ajax-database-live-search/

_________________
Kuna ei pruugi õigel ajal foorumisse sattuda:
SMS: 5051598 [võõraid tel. ei vasta]
Email sakunne@seenior.ee
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
infidel
HV kasutaja
infidel

liitunud: 31.01.2004



Autoriseeritud ID-kaardiga

sõnum 22.12.2018 13:44:45 vasta tsitaadiga

Lingi kohta annab CloudFlare errori, mingi kala on neil või minu netiühenduses.
Aga põhimõtteliselt peaks olema soovitud asi siin reas:
$(this).parent(".result").empty();

Kui tahta kuhugi mujale vastust saada, siis tuleb ära näidata kuhu.
Näiteks:
$("#div1").html(result);

Selle järgi siis:
https://www.w3schools.com/jquery/ajax_ajax.asp
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
SirShark
HV kasutaja

liitunud: 23.03.2007



Autoriseeritud ID-kaardiga

sõnum 22.12.2018 18:21:52 vasta tsitaadiga

Ning see Div peab olema tühi, kui seda sinna paigutad
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 29
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 22.12.2018 19:50:35 vasta tsitaadiga

Otseselt ei pea, lihtsalt peale $("#div1").html(result); kirjutatakse div sisu üle.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
infidel
HV kasutaja
infidel

liitunud: 31.01.2004



Autoriseeritud ID-kaardiga

sõnum 24.12.2018 14:06:24 vasta tsitaadiga

Igaks juhuks vaatasin uuesti, seekord laadis allika ära. Andmeedastusega tegeleb see funktsioon:
javascript:
  1. $(document).ready(function(){
  2. $('.search-box input[type="text"]').on("keyup input", function(){
  3. /* Get input value on change */
  4. var inputVal = $(this).val();
  5. var resultDropdown = $(this).siblings(".result");
  6. if(inputVal.length){
  7. $.get("server.php", {term: inputVal}).done(function(data){
  8. // Display the returned data in browser
  9. resultDropdown.html(data);
  10. });
  11. } else{
  12. resultDropdown.empty();
  13. }
  14. });


Ehk siis kui tuvastatakse nupu vabastamine elemendil klassist "search-box", saadetakse päring teele. Vastuse korral kirjutatakse see objekti, mis on määratud muutujana "resultDropdown". See määramine toimub reaga:
javascript:
  1. var resultDropdown = $(this).siblings(".result");

Ehk siis otsingu algatanud elemendi juurest otsitakse elementi nimega "result", kuhu kirjutatakse hiljem tulemus.

Kui nüüd tahta seda tulemust kuhugi mujale lisada, siis tuleks määrata muutuja väärtuseks uus asukoht. Kas üle kirjutada tekst, html või väärtus, sõltub kontekstist. Nende erinevuste jaoks on see hea demo:
https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_dom_html_set
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  AJAX Database Live search
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.