ghd Quirky jQuery - Setting the 'value' attribute

 
Napisz nowy temat   Odpowiedz do tematu    Forum Naukowe Koło Chemików Uniwersytetu Gdańskiego Strona Główna -> Ogłoszenia
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Welcome3
Ununokt



Dołączył: 16 Paź 2010
Posty: 655
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: England

PostWysłany: Pon 16:20, 06 Gru 2010    Temat postu: ghd Quirky jQuery - Setting the 'value' attribute

<input>
<input>

Quirky jQuery - Setting the 'value' attribute in HTML Quirky jQuery - Setting the 'value' attribute in HTML Posted October 17th, 2008 by Chris
This one stumped the guys over at the jQuery IRC channel:
When you use the jquery to set an element's value attribute, you can do the folloearng:
$(this).attr('value', 'newvalue');
or this:
$(this).val('value');
For most attributes,[link widoczny dla zalogowanych], this will change the actual html. To test it out, you can use Firebug and watch the value change, or print out the new output by doing something like:
alert($(this).parent().html());
For the 'value' attribute, however, the html doesn't actionually change. And that little quirk cost me a few hours in research to try to find a toil-around. What I was trying to do was cache a bock of html in a database, but I wanted to retain the value of the text inputs if they changed. Since the 'value' attribute didn't actually deviate in the html, I got stuck. Here's what I did to work around it:
Whenever the text changed in the text input,[link widoczny dla zalogowanych], I would create a hidden input with the new value. When the text changed again,[link widoczny dla zalogowanych], the hidden input would be deleted and then added back in. I tried doing this with just the text input (i.e., deleting it, manually adding the value in, and re-outputting it), but when you do that you lose any event bindings. When I went to cache the html,[link widoczny dla zalogowanych], it would look like this:

Since this is what will be pulled from the database, next I need to trigger a switch to replace out the old value of the text input with the value in the hidden input. That's easy enough with jQuery, since we have a 'rel' attribute to link them.
Personally,[link widoczny dla zalogowanych], I believe this is an ugly work-around. Even changing the 'value' attribute with straight javascript didn't seem to work. So, this is really a javascript quirk I'd love to find a better step around.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Naukowe Koło Chemików Uniwersytetu Gdańskiego Strona Główna -> Ogłoszenia Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin