私は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>