Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  9 795
Hei, jeg setter verdien i et input-felt ved hjelp av:
$('#search_input_element').val(text);

Så prøver jeg å bruke search_input_element.change() for å sjekke om feltet er blitt endret, men jeg klarer ikke å "merke" at feltet er endret.

Jeg vil gjerne skrive til search_input_element, som om det er noen som skriver i feltet..


Noen som vet hvordan jeg kan gjøre det?
For å sette en handling når feltet blir endret kjører du change slik:

Kode

$('#search_input_element').change(function(){
    alert('Feltet er blitt endret! Ny value:' + $(this).val());
});
Sist endret av ma10as; 3. april 2010 kl. 18:52.
Det er jeg klar over, men det ser ikke ut som om feltet "faktisk blir endret".. Så derfor fungerer det ikke med .change direkte på id.. Det ser ut som om .val ikke trigger .change
Mulig jeg misforstod. Det du er ute etter er at change-funksjonen skal bli trigget når du endrer value med val()? Omtrent som dette, bare at det ikke fungerer?

Kode

$(function() {
	$('#search_input_element').change(function(){
		alert('Endret');
	});
	$('#search_input_element').val('Test');
});

<input type="text" id="search_input_element" value="" />
Jeg trodde faktisk at dette skulle fungere, men det gjorde de visst ikke. Har søkt litt på google og finner flere som har samme problemstilling, men finner ikke noen annen løsning enn å trigge change selv når du endrer value.

Kode

$('#search_input_element').val(text).change();
Sist endret av ma10as; 3. april 2010 kl. 19:31.
Ja, nettopp..
Problemet er bare at det fungerer faktisk ikke å trigge den selv heller..

Det som er "kilden" til problemet er at jeg bruker denne http://lomalogue.com/jquery/quicksearch/

Det fungerer utmerket, helt til jeg fyller "søkeruten" med data via javascript.. Den vil ikke trigge om jeg fyller ved bruk .val, derfor leter jeg etter en løsning hvor den "tror" at det er skrevet inn noe.. Det ser ut som om det bruker .blur, men det fungerer ikke å bruke $('#search_input_element').val(text).blur(); heller..

Kanskje du har en idé om du ser på kildekoden?
Da hadde du vært supergrei..

http://lomalogue.com/jquery/quicksearch/
Er det mulig å trigge quicksearch() når du gjør en endring med JavaScript da? Bare et raskt forslag, har ingen anelse om det vil fungere.

Kode

$('#search_input_element').val(text).quicksearch();
Det fungerte ikke nei :/
Da laster den kun en ny instance av quicksearch, altså en ny søkeboks.
http://api.jquery.com/keydown/

The keydown event is sent to an element when the user first presses a key on the keyboard. It can be attached to any element, but the event is only sent to the element that has the focus. Focusable elements can vary between browsers, but form elements can always get focus so are reasonable candidates for this event type.
Vis hele sitatet...
Mulig jeg har misforstått deg, men denne vil iallefall registrere endringer gjort av brukeren i feltet så fremt at brukeren benytter seg av tastaturet.
Sist endret av danielsk; 3. april 2010 kl. 20:26.
Takk Dette fungerte:

$('#search_input_element').val(text).keydown();
Men viss brukeren limer inn noe med musen da? Da vil ikke jQueryen registrere dette.