我正在尝试调用facebox模式框(流媒体播放器的jQuery工具)
我有一个onChange
调用我的sub_debt
脚本的选择菜单。 sub_debt
脚本评估选择菜单的值 - 如果value == 1
(对于'是'),我想调用标题中定义的facebox模式。
目前,下面的代码正在“稍微”调用facebox模式 - 它将选择菜单“取出”到页面上的位置,好像它是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 :(得分:0)
这是因为您确实将select的id设置为facebox的内容。 你想传递另一个div的/元素的id作为facebox的内容。
e.g:
...
<div id="SHOWME" style="display: none;">
Inside facebox
</div>
<select name="subordinate_debt" id="subordinate_debt" onchange='subdebt("SHOWME");'>
...
答案 1 :(得分: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>