質問 > その他 > お知恵を拝借させてまらえないでしょうか(規格select) |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
motorp |
投稿日時: 2015/6/20 19:07
対応状況: −−−
|
常連 登録日: 2013/12/26 居住地: 投稿: 45 |
お知恵を拝借させてまらえないでしょうか(規格select) EC-CUBEの質問とズレているかもわかりませんが、
行き詰まったことがあり、もし良いアイデアがあればと思いまして 投稿させていただきました。 規格のセレクトボックスにCSSを適応させたい為 (IEでのoption値 行間を広げたい為) jQueryブラグイン「Easy Select Box」でCSSを適応できるようにしました。 仕様的には <select><option>をコピーして <div>に置換えて 元のセレクトボックスはdisplay noneとさせるものです。
これで 見た目はselectボックス風になりますが そのままでは 選択してもjQueryで表示したセレクトボックスを選択しただけで 実際の値は変わってませんので 規格を選択した時点で Easy Select Boxのオプションを使用して 選択後に値を更新するようにしました。
規格が1つの場合は、これで良かったのですが、 規格が2つ ある場合 規格1を選択されないと 規格2には元になるselectにoption値がなく 表示がされません。 規格1 <select> <option>AAAAA</option> <option>BBBBB</option> </select> 規格2 ※規格1が選択されないと optionの値が無い状態 <select> <option>選択してください</option> </select> 規格1のAを選択後にoptionが表示されます。 <select> <option>選択してください</option> <option>AAAAA-1</option> <option>AAAAA-2</option> </select> そこで 規格1を選択した場合に 規格2も更新するようにしたのですが
この場合、元のセレクトボックス(display none)は更新がかかるのですが jQueryで表示したセレクトボックスの表示が更新されません。 単純に 規格1を選択した後、規格2のjQueryを実行させてしまうと jQuery側も表示は行うのですが
規格1を選択しなおすと 毎回jQueryでの規格2ボックス表示が実行されますので 規格2ボックスが2つ、3つ…と表示されていく状態になります。 <select> <option>選択してください</option> <option>AAAAA-1</option> <option>AAAAA-2</option> </select> <select> <option>選択してください</option> <option>AAAAA-1</option> <option>AAAAA-2</option> </select> <select> <option>選択してください</option> <option>AAAAA-1</option> <option>AAAAA-2</option> </select> ここで行き詰まってしまったのですが、 規格1を "選択しなおしたとき" はリセットするような 良い方法がないか考えております。 私では難しい状態で もしアイデアや方法などお持ちの方がおられましたら助かります。 宜しくお願い致します。 |
motorp |
投稿日時: 2015/6/22 0:40
対応状況: 解決済
|
常連 登録日: 2013/12/26 居住地: 投稿: 45 |
Re: お知恵を拝借させてまらえないでしょうか(規格select) 自己解決しました。
規格2を実行する前に CSSで規格2表示を消す処理を行うことで とりあえず対応出来ました。 $("----").css("display","none"); ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |