Hur får man värdet av utvalda knapp Stack Overflow

Hur får man värdet av utvalda knapp Stack Overflow kod förslag med hjälp av

@mzalazar Nej, varje radioknappen sitt eget ID men alla har samma namn som är vad sätter dem i en grupp så om du väljer en den andra blir bortvald. Med Kamran Ahmed svarar du kan kontrollera vilka av radioknapparna i gruppen väljs och få endast värdet av den valda (markerad) en. – Broco 4 september ’14 vid 18:21

För dig som bor på kanten:

Att hämta kontrolleras värde, kan du göra så här:

Observera att detta genomfördes i Firefox 33 (alla andra stora webbläsare verkar stödja det). Äldre webbläsare kommer att kräva en polfyill för RadioNodeList för att detta ska fungera ordentligt


Förutsatt din formulärelement betecknas av myForm variabel nedan, och att dina alternativknappar dela namn "my-radioknapp-gruppnamn"Följande är ren JavaScript och normer kompatibel (även om jag inte har kontrollerat att det ska vara tillgänglig överallt):

Ovanstående kommer att ge värdet på en markerad (eller vald, som det också kallas) alternativknappen elementet, om någon, eller null annars. Den springande punkten i lösningen är namedItem funktion som arbetar med radioknappar specifikt.

Jag använder MDN eftersom det tillåter en att spåra efterlevnad av standarder, åtminstone till stor del, och eftersom det är lättare att förstå än många WHATWG och W3C publikationer.

svarade 3 juni ’16 vid 13:28

detta är html5 sätt. +1 Fungerar på krom 48 och ff 46 – avck 4 juni ’16 vid 08:08

När jag skrev det svar jag skum genom befintliga svar, och inte se något som liknade vad jag ville dela. Nu ser jag att jag missade minst två liknande lösningar. Om än skrev ingen sin kod förslag med hjälp av särskild syntax jag använder, men den allmänna idén är densamma. FYI. Poängen är att få hänvisning till en RadioNodeList igenom något liknande form.elements [namn] eller form [namn] (kanske en spekulation) eller genom min ovan syntax. – amn 4 juni ’16 vid 15:27

Källa: stackoverflow.com

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

sjutton + tretton =