Wie wird der Index der ausgewählten Option in Elm gedruckt?

Ich habe ein<select> HTML-Element mit 3 Optionen und einem<p> Element. In dem<p> Element Ich möchte den Index des aktuell ausgewählten Elements in @ drucke<select>. Z.B. Wenn ich die erste Option auswähle, sollte 0 ausgegeben werden. Wenn ich die zweite Option auswähle, sollte 1 ausgegeben werden. Wie gehe ich von dem unten angegebenen Mindestcode aus?

import Html as H exposing (Html)
import Maybe
import Signal as S exposing (Address, (<~))

type alias Model = { selected : Maybe Int }
model = { selected = Nothing }

type Action = NoOp | Select Int
update action model =
  case action of
    NoOp -> model
    Select n -> { model | selected <- Just n }

view address model =
  H.div []
     [ H.select [] [ H.option [] [ H.text "0" ]
                   , H.option [] [ H.text "1" ]
                   , H.option [] [ H.text "2" ]
                   ]
     , H.p [] [ H.text <| Maybe.withDefault ""
                   <| Maybe.map toString model.selected ]
     ]

actions = Signal.mailbox NoOp
main = view actions.address <~ S.foldp update model actions.signal

Antworten auf die Frage(2)

Ihre Antwort auf die Frage