2012-05-10 12 views
0

我正在嘗試調用facebox模式框(流播放器的jQuery工具)。
我有一個選擇菜單,onChange正在呼叫我的sub_debt腳本。 sub_debt腳本評估選擇菜單的值 - 如果value == 1(對於'是'),我想調用標題中定義的facebox模式。從另一個JavaScript函數中調用jQuery(模態彈出)函數

目前,下面的代碼調用了facebox模式「有點」 - 它將選擇菜單「out」放在頁面上它的位置,就好像它是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");'> 

... 
相關問題