2012-05-10 31 views
0

私はfaceboxモーダルボックス(フロープレーヤーのjQueryツール)を呼び出そうとしています。
私はonChangeが私のsub_debtスクリプトを呼び出す選択メニューを持っています。 sub_debtスクリプトは、選択メニューの値を評価します。value == 1( 'yes'の場合​​)、ヘッダーに定義されているfaceboxモーダルを呼び出したいと思います。別のJavaScript関数内からjQuery(モーダルポップアップ)関数を呼び出す

現在、以下のコードは、faceboxモーダルポップアップ自体の唯一の部分であるかのように、ページ上のその場所の選択メニューを「外に出す」というものです。暗い背景マスクをページの残りの部分に追加します。

(注:例えばアンカータグから呼び出された場合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> 

答えて

0

次の変更が働いていました。 (おかげで "アミット曽爾" - 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> 
0

あなたは選択のIDがfaceboxのコンテンツに設定しないためです。 別のdiv /要素のIDをfaceboxのコンテンツとして渡したいとします。

例えば:

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

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

... 
関連する問題