xxx 123
yyy 345
zzzzz 78901
みたいに2つのデータを表敬式に表示して
ドラッグや Ctrl+クリックで複数行選択できるセレクトボックスを作りたいのですが
<select multiple> だとボックスの中にスタイルをあてられず
raw text しか出力できず見栄えが悪いので
2つのセレクトボックスを横に並べてスクロール位置と選択状態を一致させることで実現しようと思っています
ただ jQuery になれていなくて選択状態をうまくとりだせません
<div style="display:flex"> <select multiple id="left"> <option value="1">111</option> <option value="2">222</option> <option value="3">333</option> </select> <select multiple id="right"> <option value="1">111</option> <option value="2">222</option> <option value="3">333</option> </select> </div> <script> $('#left').change(function() { src = $('#left > option'); dst = $('#right > option'); src.each((o) => { console.log(o); $("#right [value="+ o.val() +"]").attr("selected", o.attr("selected")) }); }); </script>というようなサンプルをかいてみたのですが
Uncaught TypeError: o.val is not a function
というエラーが出ます
意図としては value が同じ位置の option のattr の selected 値を代入しようとしてるのですがこの書き方のどこが悪いのでしょうか
あと片方をスクロールしたときもう一方のスクロール位置を一致させるのは簡単にできるでしょうか
回答1件
あなたの回答
tips
プレビュー