<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/

10-09 15:13