2
私はwhat is required for a getting the selected index of a single selectを見ましたが、私はマルチセレクトからすべての選択肢を得ることに興味があります。私はこれを行う方法を解決することができませんでした。Elmで複数選択のオプションを選択するには?
私は以下を試みましたが、Jsonデコーダが失敗していると思われます。私は100%確信しているわけではありません。なぜなら、デコードはバーチャルドームコード内で起こり、そこに何らかのエラーが出てしまうからです。
type Msg
= SetMultipleInts (List Int)
-- I'm not seeing the SetMultipleInts message when I click on the multiselect
view model =
div []
[ select (onSelect SetMultipleInts) (List.map myOption [1..4]) ]
myOption : Int -> Html Msg
myOption id =
option [ value (toString id) ] [ text <| "Option " ++ (toString id) ]
-- I'm not seeing anything happen in the onchange
onMultiSelect : (List Int -> msg) -> List (Html.Attribute msg)
onMultiSelect msg =
[ on "change" (Json.map msg targetSelectedOptions), multiple True ]
targetSelectedOptions : Json.Decoder (List Int)
targetSelectedOptions =
Json.at [ "target", "selectedOptions" ] (Json.list (Json.at [ "value" ] Json.int))
ポートを使用せずにこれを行うことはできますか?
魅力的な作品です。私はHTMLNodeCollectionが問題かもしれないと思ったが、それを修正する方法を知らなかった。ありがとう! – Grassdog