2013-04-08 66 views
1

我有两个选择框一样,如何将一个selectbox选项值赋给一个php变量?

<select name="template" id="template"> 
     <option value="" selected>--Select--</option> 
      <option value="HOME">Home</option> 
      <option value="HELP">How We Help</option> 
      <option value="CONTACT">Contact Us</option> 
      <option value="ABOUT">About Us</option> 
</select> 

而且

<select name="location" id="location""> 
    <option value="" selected>--Select--</option> 
      <option value="header">Header</option> 
      <option value="center">Center</option> 
      <option value="footer">Footer</option> 
    </select> 

的问题是,在第二个选择框 只需要与我们联系模板的中心位置。 如何隐藏所有其他模板的中心选项?

回答

4

不知道你的代码的其余部分,但假设它只是简单的PHP(无FRAM EWORKS)

<select name="location" id="location""> 
<option value="" selected>--Select--</option> 
     <option value="header">Header</option> 
     <?php if ($template == 'contact_us'):?> 
     <option value="center">Center</option> 
     <?php endif;?> 
     <option value="footer">Footer</option> 
</select> 

结束语在简单中心的选择,如果块为当前模板类型的测试,将让你基于加载的页面上显示或隐藏的价值。

如果你在一个框架中,可能有更好的方法来做到这一点,但如果你只是使用普通的PHP,我所建议的将会起作用。

+0

看起来像凯伊先到那里:),我们一定是在同一时间写 – fullybaked 2013-04-08 09:17:27

1

只需更换您的<option>的静态值到所需的变量

value="<?php echo $variable;?>" 

虽然隐藏它,你必须为你设置一个变量$page='Contact_Us'接触页的条件样品意味着页面是contact_us.Then创建你的选项里面的情况,这将使该选项中心只显示当为$page='Contact_Us'

//Define variable `$page` in contact_us page 
$page='Contact_Us'; 

<select name="location" id="location""> 
    <option value="" selected>--Select--</option> 
      <option value="header">Header</option> 
      <?php if($page == 'Contact_US'){?> 
      <option value="center">Center</option> 
      <?php }?> 
      <option value="footer">Footer</option> 
    </select> 
1

1)隐藏中心选择:jsfiddle here

2)设置在PHP选项值:

  • <option value="<?php include('myScript.php') ?>"></option>
  • 替换<option value="header"></option>然后在myScript.phpecho "newValue";
1

试试这个:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script> 
<script> 
    $(document).ready(function(){ 
     $('#template').change(function(){ 
      var template = $(this).val() 
       ,option = $('#container > select > option'); 
      if(template=="CONTACT") 
       $('#location > option[value="header"]').after(option.clone()); 
      else 
       $('#location > option[value="center"]').remove(); 
     }).change(); 
    }); 
</script> 
<select name="template" id="template"> 
    <option value="" selected>--Select--</option> 
    <option value="HOME">Home</option> 
    <option value="HELP">How We Help</option> 
    <option value="CONTACT">Contact Us</option> 
    <option value="ABOUT">About Us</option> 
</select> 
<select name="location" id="location"> 
    <option value="" selected>--Select--</option> 
    <option value="header">Header</option> 
    <option value="footer">Footer</option> 
</select> 
<div id="container" style="display: none"> 
    <select> 
     <option value="center">Center</option> 
    </select> 
</div> 
相关问题