バージョン選択

フォーラム

メニュー

オンライン状況

29 人のユーザが現在オンラインです。 (22 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 29
もっと...

サイト内検索

質問 > フロント機能 > 2.12.0にて規格2のdisabled 有無切替

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ゲスト
投稿日時: 2016/12/1 17:52
対応状況: −−−
2.12.0にて規格2のdisabled 有無切替
別サイトで、
『「規格1」が「選択してくだい」の時、「規格2」をdisabledにしたい。』
との問いが有り、
規格、javascriptを避けて来た身として、そろそろ、折り合いを付けないとと思い、下記までは探ったのですが、ここで、行き詰まりました。
そもそも、
「それは無理」なのか、何か手が有るのか、、、
アドバイス頂けると幸いです。

今更ながらの、ECCUBE2.12.0で、です。

===記===

javascriptは、敢えて避けてきたので、『そんな訳はないよなぁ』と思いつつも、
味を「選択してください」にすると、大きさが「選択してください」に戻ることから、
味の変更でfnSetClassCategories()が動くもの、、、と勝手に思い込んでいたのが、大きな間違い。>自分
やはり、初回表示時とsubmit「かごに入れる」でないと、fnSetClassCategories()は動かないですよね。

味の変更で、大きさが「選択してください」に戻るのは、
規格1の
「<!--{html_options options=$arrClassCat1 selected=$arrForm.classcategory_id1.value}-->」
のおかげ?

多分、以下のjavascriptの動作が、味の変更で動作すれば、ご希望に添えると思うのですが、それは、無理。
(「かごに入れる」を押せば、それなりな動きはするけれど。)
<detail.tpl>
<script type="text/javascript">
//<![CDATA[
    // 規格2に選択肢を割り当てる。
    function fnSetClassCategories(form, classcat_id2_selected) {
        var $form = $(form);
        var product_id = $form.find('input[name=product_id]').val();
        var elem = document.getElementById("select2");                                    // ★ここから
        if ($form.find('select[name=classcategory_id1]').val() == "__unselected") {
             elem.innerHTML = "<select disabled name='classcategory_id2'>";
        } else {
             elem.innerHTML = "<select name='classcategory_id2'>";
        }                                                                                 // ★ここまで
        var $sele1 = $form.find('select[name=classcategory_id1]');
        var $sele2 = $form.find('select[name=classcategory_id2]');
        setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected);
    }
    $(document).ready(function() {
        $('a.expansion').facebox({
            loadingImage : '<!--{$smarty.const.ROOT_URLPATH}-->js/jquery.facebox/loading.gif',
            closeImage   : '<!--{$smarty.const.ROOT_URLPATH}-->js/jquery.facebox/closelabel.png'
        });
    });
//]]>

</script>
                        <!--▼規格2-->
                        <ul class="clearfix">
                            <li><!--{$tpl_class_name2|h}-->:</li>
                            <li>
                                <p id="select2">select2</p>                               // ★ここ
                                </select>
                                <!--{if $arrErr.classcategory_id2 != ""}-->
                                <br /><span class="attention">※ <!--{$tpl_class_name2}-->を入力して下さい。</span>
                                <!--{/if}-->
                            </li>
                        </ul>
                        <!--▲規格2-->


javascriptを熟知していれば、fnSetClassCategories()の変更と
↓の「lfMakeSelect()」が呼ばれるまでのお膳立てとの連携で、実現できるものなのか?
<LC_Page_Products_Detail.php>
    /* 規格選択セレクトボックスの作成 */
    function lfMakeSelect() {
        return 'fnSetClassCategories('
            . 'document.form1, '
            . SC_Utils_Ex::jsonEncode($this->objFormParam->getValue('classcategory_id2'))
            . '); ';
    }

残念ながら、今回は、小生の知識では、ご希望に添えませんでした。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 2.12.0にて規格2のdisabled 有無切替 ゲスト 2016/12/1 17:52
     Re: 2.12.0にて規格2のdisabled 有無切替 red 2016/12/1 19:21
     Re: 2.12.0にて規格2のdisabled 有無切替 468 2016/12/2 11:55
       Re: 2.12.0にて規格2のdisabled 有無切替 ゲスト 2016/12/5 11:30

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,462名です
総投稿数は110,097件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1654
8
red
1570
9
mcontact
1306
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.