2014-10-19 28 views
0

当我在不提交POST请求的情况下更改第一个选项I,IV和V时,如何更改为案例1或案例2?如何提交没有发布需求的选择?

<select name="vrsta_predmenta"> 
    <option value="1">I</option> 
    <option value="2">IV</option> 
    <option value="3">V</option> 
</select> 
<select name="izvrsenje"> 
<?php 
    switch($_POST['vrsta_predmenta']){ 
     case 1: 
      echo '<option value="1">Prvo izvrsenje</option>'; 
      echo '<option value="2">Drugo izvrsenje</option>'; 
      echo '<option value="3">Trece izvrsenje</option>'; 
      break; 
     case 2: 
      echo '<option value="1">Cetvrto izvrsenje</option>'; 
      echo '<option value="2">Peto izvrsenje</option>'; 
      echo '<option value="3">Sesto izvrsenje</option>'; 
      break; 

    } 
?> 
</select> 
+0

无需重新加载页面,你会需要一些JavaScript – Philibobby 2014-10-19 19:32:46

+0

你想,如果改变了发送数据? – 2014-10-19 19:32:49

回答

1

您需要的JavaScript这一点。以下是一个非常简单的方法示例,当您将所有选项都已经存在但隐藏起来时,并根据主选择框中的选定选项显示必要时。

var main = document.querySelector('.main'), 
 
    secondary = document.querySelector('.secondary'); 
 

 
main.onchange = function() { 
 
    var mainValue = main.options[main.selectedIndex].value; 
 
    [].slice.call(secondary.options).forEach(function(option) { 
 
     option.hidden = option.className !== 'value-' + mainValue; 
 
    }); 
 
    
 
    secondary.options[0].hidden = false; 
 
    secondary.options[0].selected = true; 
 
};
<select name="vrsta_predmenta" class="main"> 
 
    <option value="1">I</option> 
 
    <option value="2">IV</option> 
 
    <option value="3">V</option> 
 
</select> 
 

 
<select name="izvrsenje" class="secondary"> 
 
    <option value="">-- Select --</option> 
 
    <option value="1" class="value-1" hidden>Prvo izvrsenje</option> 
 
    <option value="2" class="value-1" hidden>Drugo izvrsenje</option> 
 
    <option value="3" class="value-1" hidden>Trece izvrsenje</option> 
 
    <option value="1" class="value-2" hidden>Cetvrto izvrsenje</option> 
 
    <option value="2" class="value-2" hidden>Peto izvrsenje</option> 
 
    <option value="3" class="value-2" hidden>Sesto izvrsenje</option> 
 
</select>

+0

如何删除选定的选项表单2.选择何时选择1.选择更改?当我从第一选择改为第一选项时,第二选择仍然保持'Prvo izvrsenje'... – user3561857 2014-10-19 19:52:18

+0

有效分数。查看更新的答案。 – dfsq 2014-10-19 20:06:16

0

您目前正在混合html和php。

为了您的需要,您需要在html页面中实现javascript。你的代码将无法工作,因为php在服务器端,而不是在客户端。

+0

你有一些例子吗? – user3561857 2014-10-19 19:36:58

0

你可以试试这个

<select name="vrsta_predmenta" id='sendRequest'> 
          <option value="1" >I</option> 
          <option value="2">IV</option> 
          <option value="3">V</option> 
         </select> 


jQuery('#sendRequest').change(function(){ 
    jQuery.ajax({ 
     url:'your php file url', 
     type:'post', 
     data:{data:jQuery(this).val()}, 
     dataType:'JSOON', 
     success:function(){ 
     } 
    }) 
}) 
+0

取决于上面的选项,我需要在另一个选择中获得antoher选项。 – user3561857 2014-10-19 19:42:54