27. juli 2004 - 22:47
Der er
10 kommentarer og 1 løsning
fange selecteditem med javascript
jeg har en asp:RadioButtonList med to mulige valg 'ja' og 'nej'. nu har jeg brug for i en javascript metode at kunne se hvilken af mulighederne der er valgt i asp:RadioButtonList'en, men hvordan gør jeg det ??
Annonceindlæg fra Deloitte
Hvor lader du ikke bare den RadioButton generate et postback, og så tester på det der?
for at undgå at komme på serveren...
Okay, trælst.. Jeg snakkede om det med min lærer på et tidspunkt... Og han mente det var noget værre bøvl, så det gik vi fra..
oki jeg ender nok med det samme, men det var da en sjov ting når man har TID.. ;-)
Ja, det er sjovt.. Men det er trælst at sidde fast hele tiden, fordi man er ny... :)
Hvad skal du bruge værdierne i din javascript metode til? Validering inden submit?
til at vise/skjule et span tag
Man kan gøre det på flere måder, men som du selv nævner bliver det ofte noget bøvl. Jeg fandt dog een løsning, der udnytter en CustomValidator's "link" mellem en servercontrol og client-side. Det er ikke sådan man som regel benytter en CustomValidator, og jeg har ikke lige testet om det har nogle bivirkninger på siden mht. at submitte formen. Men prøv ad - koden er ret simpel: <%@ Page Language="C#" %> <html> <body> <form runat="server"> <ASP:RadioButtonList id="RadioButtonList1" runat="server"> <asp:ListItem Value="Ja">Ja (vis span)</asp:ListItem> <asp:ListItem Value="Nej" Selected>Nej (gem span)</asp:ListItem> </ASP:RadioButtonList> <ASP:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="RadioButtonList1" ClientValidationFunction="CheckRadio" /> <span id="mySpan" style="display:none;">Magic span!</span> </form> <script language="javascript"> <!-- function CheckRadio(source, args) { document.getElementById("mySpan").style.display = (args.Value=="Ja")?"":"none"; } // --> </script> </body> </html>
perfekt yellow det virker fint send et svar. ved du om man kan gøre metoden dynamisk så jeg kan bruge den samme flere gange ?? det må være ("mySpan") der skal være dynamisk...
28. juli 2004 - 12:26
#10
Ok, for at være ærlig, var jeg ikke selv helt tilfredst med den Validator løsning. Den udskriver en masse ubrugelig kode til klienten :-/. Jeg lavede en anden version. Eksempel på dynamisk funktionalitet inkluderet: <%@ Page Language="C#" %> <html> <body> <form runat="server"> <ASP:RadioButtonList id="RadioButtonList1" runat="server" onclick="RadioEvent(this);"> <asp:ListItem Value="Ja">Ja (vis span 1)</asp:ListItem> <asp:ListItem Value="Nej" Selected>Nej (gem span 1)</asp:ListItem> </ASP:RadioButtonList> <ASP:RadioButtonList id="RadioButtonList2" runat="server" onclick="RadioEvent(this);"> <asp:ListItem Value="Ja">Ja (vis span 2)</asp:ListItem> <asp:ListItem Value="Nej" Selected>Nej (gem span 2)</asp:ListItem> </ASP:RadioButtonList> <span id="mySpan" style="display:none;">Magic span!</span> <span id="mySpan2" style="display:none;">Magic span 2!</span> </form> <script language="javascript"> <!-- function RadioEvent(source){ arrRadio = source.getElementsByTagName("input"); for(i=0;i<arrRadio.length;i++){ if( arrRadio[i].checked ){ ShowSpan(source.id,arrRadio[i].value); break; } } } function ShowSpan(sourceID, radioValue) { switch(sourceID){ case "RadioButtonList1": document.getElementById("mySpan").style.display = (radioValue=="Ja")?"":"none"; break case "RadioButtonList2": document.getElementById("mySpan2").style.display = (radioValue=="Ja")?"":"none"; break } } // --> </script> </body> </html>
28. juli 2004 - 22:29
#11
perfekt, takker mange gange ;-)
Vi tilbyder markedets bedste kurser inden for webudvikling