Avatar billede Jim Rasmussen Novice
24. september 2010 - 19:32 Der er 7 kommentarer og
1 løsning

ID

Jeg skal have fat i en kontrol i via javascript. Men deres Client-side ID skifter jo, eller de er ikke det jeg angiver.

Hvordan får jeg så fat i en kontrol gennem javascript og ændre på den. Det er en image kontrol jeg skal ændre værdien på

Kan gøre det med ClientID="static" i framework 4.0. Men det understøtter surftown ikke :S
Avatar billede jokkejensen Novice
24. september 2010 - 19:53 #1
<script type="text/javascript">
var repeater = <%# Repeater1.ClientID %>
</script>

Page.DataBind();
Avatar billede jokkejensen Novice
24. september 2010 - 19:54 #2
var repeaterID = .....

el bare  repeater = document.getElementById('<%# Repeater1.ClientID %>')
Avatar billede Jim Rasmussen Novice
24. september 2010 - 20:32 #3
æehm!? :b Den forstod jeg ikke helt :I er ikke så kendt i javascript som i asp. Så er du sød at uddybe hvad det der gør (:
Avatar billede jokkejensen Novice
24. september 2010 - 20:59 #4
du har en kontrol.

ex: <asp:repeater id="myReater" runat="server" />

hvis du i samme fil, under repeateren skriver:

<script type="text/javascript">
repeater = document.getElementById('<%# Repeater1.ClientID %>');
</script>

repeater variablen nu, tabel dom elementet repeateren består af.

Altså webcontrol.ClientID giver dig det "kontrol træ ID" som .net generere for kontrollen.

Du kan også i din cs fil bare udskrive det som en streng til en literal

psuedo kode hele vejen.


literal.text = "<script... > var repeater = "+repeater1.ClientID+" />

Personligt lader jeg .js og .css filer gå gennem isapi filtret, så jeg kan skrive simpel C# kode i mine js og css filer, herved kan jeg let skrive undtagelser for de forskellige browsere, få fat i webcontrol ids, mm. Altså ex:

css:
#<%= getClientID('repeaterID')%> td{color:red;};

js jquery:
$('#<%= getClientID('repeaterID')%>').find('td').css('color', 'red');

Giver det mening ?
/J
Avatar billede Jim Rasmussen Novice
24. september 2010 - 21:12 #5
vil det sige at jeg kan skrive



var image = document.getElementByID("imgValgt.ClientID")

<asp:Image ID="imgValgt" runat="server" />

Eller er jeg helt galt på den?
Avatar billede Jim Rasmussen Novice
26. september 2010 - 00:43 #6
eller hva!? (: mangler et svar.

Har aldrig brugt en repeater, så det et lidt dårligt eksempel
Avatar billede Jim Rasmussen Novice
26. september 2010 - 16:31 #7
Jeg brugte bare js jquery og så fandt jeg kontrollerne ved deres css classes.

Vil gerne give jokke point. men så skriv et svar (:
Avatar billede Jim Rasmussen Novice
28. september 2010 - 18:01 #8
sv:
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester