<select name="mySelectboxsituation_found" id="mySelectboxsituation_found">
<option value="100">Firecall</option>
<option value="200">FireAlarm</option>
<option value="300">FireAlarm2</option>
<option value="400">FireAlarm4</option>
</select>
< a href="#" class="incidenttype" name="all" onClick="JavaScript:var dropdown=document.getElementById('mySelectboxsituation_found');this.href='main_situation_found.php?incident_maincateid='+dropdown.options[dropdown.selectedIndex].value;return true;"/>CLICK HERE < / a>
function cleanUp(){
var subsituation_found1 = $("#fancybox- frame").contents().find('input:radio[name=incident_subcate]:checked').val();
}
$(".incidenttype").fancybox({
'width' : 900,
'height' : 600,
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'iframe',
'onCleanup': cleanUp
);
});
单击“单击此处”将打开花式框,并传输在下拉框中选择的值。
我想做的是在更改下拉框中的值时打开花式框...而不必单击“单击此处”链接.....我知道使用_this这样的东西是可疑的。但我不确定,正在寻找方向...
理想情况是这样的...
<select name="mySelectboxsituation_found" id="mySelectboxsituation_found" onChange="JavaScript:var dropdown=document.getElementById('mySelectboxsituation_found');this.href='main_situation_found.php?incident_maincateid='+dropdown.options[dropdown.selectedIndex].value;return true;">
<option value="100">Firecall</option>
<option value="200">FireAlarm</option>
<option value="300">FireAlarm2</option>
<option value="400">FireAlarm4</option>
</select>
有没有一个想法怎么做...。
我也尝试过...
function test_fan()
{ alert(document.getElementById('mySelectboxsituation_found').options[document.getElementById('mySelectboxsituation_found').selectedIndex].value);
var dropval =document.getElementById('mySelectboxsituation_found').options[document.getElementById('mySelectboxsituation_found').selectedIndex].value; return dropval;
}
$(document).ready(function(){
$("#autostart").fancybox({
'onStart':test_fan,
'width': 800,
'height': 700,
'type': 'iframe',
href:'main_situation_found.php?incident_maincateid='+document.getElementById('mySelectboxsituation_found').options[document.getElementById('mySelectboxsituation_found').selectedIndex].value
});
<a href="#" id="autostart" style="display:none"></a>
<form><select id="mySelectboxsituation_found" onchange="$('#autostart').trigger('click');">
<option value="">select</option>
<option value="100">option 1</option>
<option value="200">trigger</option>
<option value="300">option 3</option>
<option value="400">option 4</option>
</select> </form>
真正有趣的是……
在警报ID上确实得到我选择的值,所以如果我
selected alert fancybox window
100 100 nothing shows up empty
200 200 100
300 300 200
400 400 300
在我看来,fancybox是先前选择的值,但我不确定为什么会发生这种情况...
谢谢
安迪
最佳答案
可能有类似的问题吗? fancybox - show ajax content?
然后尝试以下操作:http://jsfiddle.net/cR2SB/24/
<form><select id="mySelectboxsituation_found" >
<option value="">select</option>
<option value="100">option 1</option>
<option value="200">trigger</option>
<option value="300">option 3</option>
</select> </form>
$(function(){
$("#mySelectboxsituation_found").bind('change', function() {
$.fancybox(
'width': 800,
'height': 700,
'type': 'iframe',
href:'main_situation_found.php?incident_maincateid='+ $("#mySelectboxsituation_found").val()})});
});
请记住,当您在javascript中绑定某些内容时,有时您可能会绑定当前值而不是事件发生时的值。
关于jquery - 从下拉框中打开一个花式框,然后将所选值直接传递给它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4790024/