logi sisse meist KKK

Tere,

Kuidas on võimalik jquery ajax autocomplete-i serviceUrl-i peale teatud muutujate muutmist muuta?

Näiteks on mul väli "pikkus" mis on textfield ning kui seal on 4, leiab mysql-ist vastavalt sellele kriteeriumile väljad ning kui muudan selle 7ks siis on serviceUrl muudetud ning leiab edaspidi 7-le vastavaid ridu.

<script type="text/javascript">
$(document).ready(function() {
    var a, options, input1, input2, input3, input4;

    $("*").keyup(function() {
        input1 = $('[name=input1]').val();
        input2 = $('[name=input2]').val();
        input3 = $('[name=input3]').val();
        input4 = $('[name=input4]').val();
    });

    options = {
        serviceUrl: 'http://aadress.ee/suggest.php?input1=' + input1 + '&input2=' + input2 + '&input3=' + input3 + '&input4=' + input4,
        minChars: 2, 
        delimiter: /(,|;)s*/, // regex or character
        maxHeight: 400,
        width: 300,
        deferRequestBy: 0, //miliseconds
        noCache: false, //default is false, set to true to disable caching
        onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },
    };

    jQuery(function(){
        a = $('#course').autocomplete( options );
    });
});
</script>

Kui nüüd saaks kuidagi selle autocomplete-i dünaamilist service url-i toetama oleks päris hea.

terv. M.

küsitud Jun 23 '11 at 12:48

martin's gravatar image

martin
1111

edited Jun 24 '11 at 10:57

Ahto%20Truu's gravatar image

Ahto Truu ♦♦
6596711


Talupojamõistus ütleb, et kõige lihtsam peaks olema options objekti serviceUrlile omistamine keyUp sisse tõsta. Aga kuna ma jQuery kasutaja ei ole, siis ei tea, kas see päriselt ka hea lahendus on :)

link

vastatud Jun 24 '11 at 11:05

Ahto%20Truu's gravatar image

Ahto Truu ♦♦
6596711

See ei ole vist töötav lahendus kuna sellisel juhul looks ta iga keyupiga uue suggesti ning sellisel juhul autocomplete vist ei töötaks. Testin ja annan tagasisidet :)

(Jun 25 '11 at 00:49) martin

Esimene ja kindlasti töötav lahendus on see, kui urli asemel kasutada callback meetodit, mis teeb ise AJAXi päringu kasutades väärtusi teistest elementidest ning tagastab tulemuse. Täpsemalt saab lugeda dokumentatsioonist: http://docs.jquery.com/UI/Autocomplete

Teine võimalus oleks teiste elementide väärtuste muutuste korral (keyup) muuta autocomplete'i serviceUrli, aga seda peab järgi proovima, kas töötab nii nagu vaja.

link

vastatud Jun 26 '11 at 20:07

Siim%20Viikman's gravatar image

Siim Viikman
362

põhimõtteliselt peaks töötama midagi taolist?

a( "option" , serviceUrl , http://aadress.ee/suggest.php?input1=' + input1 + '&input2=' + input2 + '&input3=' + input3 + '&input4=' + input4 );

kuna a on varem deklareeritud autocomplete-ina? (a = $('#course').autocomplete( options );)

Pole javascriptist ega jquerys nii väga sina peal ning võib olla jääb ka mõningatest põhiteadmistest üht-teist puudu.

link

vastatud Jun 26 '11 at 23:09

martin's gravatar image

martin
1111

Mitte päris niimoodi. a on sellisel juhul ikka jQuery objekt, millel peab vastavaid meetodeid välja kutsuma. Ehk siis sellisel viisil: a.autocomplete('option', 'source', 'SinuUrl');

PS. Kas sa kasutad üldse mingit muud pluginat, kui see, mis jQuery UI'ga nüüd juba by default kaasa tuleb? Ma vaatan, et parameetrid on erinevad.

(Jun 27 '11 at 08:10) Siim Viikman
(Jun 27 '11 at 10:21) martin

Selle kohta ma ei oska kommenteerida. Miks mitte kasutada jQuery enda Autocomplete pluginat (see on nüüd ametlik osa jQuery UI'st)?

(Jun 27 '11 at 10:44) Siim Viikman
Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×18
×6
×3
×1
×1

küsitud: Jun 23 '11 at 12:48

nähtud: 3,345 korda

viimati uuendatud: Jun 27 '11 at 10:44

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee