открытие fancybox из выпадающего списка и передача ему выбранного значения напрямую - PullRequest
2 голосов
/ 25 января 2011
<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>

действительно смешно то, что происходит ...

в идентификаторе оповещения действительно получают значение, которое я выбрал, поэтому, если я

selected   alert   fancybox window
100        100      nothing shows up empty
200        200      100
300        300      200
400        400      300

Мне кажется, что вы уже выбрали ранее выбранные значения, и я не уверен, почему это происходит ... Спасибо * 1019 Энди *

Ответы [ 2 ]

0 голосов
/ 19 октября 2011
<script language="JavaScript">
<!--
function openFB(url) {
 $.fancybox({
 'href' : url,
 'type' : 'iframe',
 'width': '900',
 'height': '700'
 });
}
-->
</script>
<form>
<select name="chooseItem" id="chooseItem" onchange="var goURL=document.getElementById('chooseItem').options[document.getElementById('chooseItem').selectedIndex].value;openFB(goURL);">
<option></option>
<option value="ref item 1 to open">Item 1</option>
<option value="ref item 2 to open">Item 2</option>
<option value="ref item 3 to open">Item 3</option>
</select>
</form>
0 голосов
/ 25 января 2011

Может быть, похожий вопрос? fancybox - показать содержимое ajax?

Попробуйте это тогда: 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, иногда вы можете привязывать текущее значение вместо значения во время события.

...