如何为php变量分配一个选择框选项值?

时间:2013-04-08 09:09:17

标签: php javascript html

我有两个选择框,如

<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 个答案:

答案 0 :(得分:4)

不知道你的其余代码,但假设它只是简单的PHP(没有框架)

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

将中心选项包含在测试当前模板类型的简单if块中,可以根据加载的页面显示或隐藏值。

如果您在框架中,可能有更好的方法可以做到这一点,但如果您只是使用普通的PHP,我建议的将会有效。

答案 1 :(得分:1)

只需将<option>的静态值替换为所需的变量

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

在隐藏它时,您必须为联系页面设置条件样本,您设置变量$page='Contact_Us'表示该页面是contact_us。然后在您的选项中创建一个条件,使选项中心仅显示何时为仅$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>

答案 2 :(得分:1)

1)隐藏中心选项:jsfiddle here

2)在php中设置选项值:

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

答案 3 :(得分: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>