0

facebox モーダル ボックス (フロー プレーヤーの jQuery ツール) を呼び出そうとしています。スクリプトを呼び出す
選択メニューがあります。スクリプトは、選択メニューの値を評価します。('yes' の場合)の場合、ヘッダーで定義された facebox モーダルを呼び出したいと思います。onChangesub_debtsub_debtvalue == 1

現在、以下のコードは facebox モーダルを「ある程度」呼び出しています。選択メニューをページ上のその場所から「外に」取り出して、それが facebox-modal ポップアップ自体の唯一の部分であるかのように、暗い背景マスクを適用しています。ページの残りの部分。

(注: facebox モーダル スクリプトは、たとえばアンカー タグから呼び出された場合に正しく機能します)

    <head>

    <script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>

    <!-- Popups : Facebox -->
    <script>
    function popup(choosebox) {
            var $choosebox = $("#" + choosebox);

            if ($choosebox.hasClass("init")) {
                    $choosebox.overlay().load();
            }
            else {
                    $choosebox.addClass("init");
                    $choosebox.overlay({

             // custom top position
             top: 260,

             mask: { color: '#838383',
                     loadSpeed: 200,
                     opacity: 0.5
             },  
             closeOnClick: true,
             load: true
            });
    }
    }
    </script>

    </head>
    <body>


    <script type="text/javascript">
    function subdebt(choosebox){
        var myField = document.getElementById('subordinate_debt');
        if(myField.value == "1") {
            popup(choosebox); // Calls above function from defined in header
        } else {
            alert("Do not fire popup - you entered: " + myField.value);
        }   
    }
    </script>


    <select name="subordinate_debt" id="subordinate_debt" onchange='subdebt("subordinate_debt");'>
        <option value="" selected="selected"></option>
        <option value="0">No</option>
        <option value="1">Yes</option>
    </select>
4

2 に答える 2

0

これは、selectのIDをフェイスボックスのコンテンツに設定しているためです。別のdiv/要素のIDをフェイスボックスのコンテンツとして渡す必要があります。

例えば:

...
<div id="SHOWME" style="display: none;">
Inside facebox
</div>

<select name="subordinate_debt" id="subordinate_debt" onchange='subdebt("SHOWME");'>

...
于 2012-05-13T11:10:21.693 に答える
0

次の変更が機能しました。(「Amit Soni」に感謝 - oDesk.com 請負業者)

<script type="text/javascript">
function subdebt(choosebox){
    var myField = document.getElementById('subordinate_debt');
if(myField.value == "1") {
    popup("subordinate_debt_Popup");
} else {
alert("Do not fire popup - you entered: " + myField.value);
}   
}
</script>

そして、「subordinate_debt」の DIV ID を「subordinate_debt_Popup」に変更しました。

<div id="subordinate_debt_Popup" class="facebox">.....</div>
于 2012-05-14T14:01:28.320 に答える