나는 what is required for a getting the selected index of a single select을 보았지만 다중 선택에서 선택된 모든 옵션을 얻는 데 관심이 있습니다. 나는 이것을하는 방법을 해결할 수 없었습니다.Elm에서 다중 선택의 선택된 옵션을 얻는 방법은 무엇입니까?
다음을 시도했지만 Json 디코더가 실패한 것 같습니다. 나는 가상의 DOM 코드에서 디코딩이 발생하고 거기에 오류가 있기 때문에 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