根据另一个选择的值隐藏选择

时间:2015-12-09 20:55:07

标签: javascript html

我正在尝试实现使1个选择项目的可见性依赖于另一个1.我想我可以使用这样的javascript:

目:

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
    jQuery(document).ready(function (){
        jQuery("#filepermissiontype").change(function() {           

            if (jQuery(this).val() = "global") {
                jQuery("#filepermissioncompanyid").hide();
            }else{
                jQuery("#filepermissioncompanyid").show();
            } 
        });
    });
    </script>

元素:

    <select id="filepermissiontype" data-placeholder="..." name="filepermissiontype"  class="select" value="<?php echo set_value('filepermissiontype'); ?>">
<option></option>
<option value="global">Everyone</option>
<option value="company">Company</option>
<option value="companyandchildren">Company & children</option>                                          
</select>

<select id="filepermissioncompanyid" data-placeholder="..." name="filepermissioncompanyid"  class="select" value="<?php echo set_value('filepermissioncompanyid'); ?>">
<option></option>
<option value="1">Corp 1</option>
<option value="2">Corp 2</option>
<option value="2">Corp 3</option>                                           
</select>

有了这个,我希望当我在第一个选择中选择全局时,第二个选择将消失,但这不会发生。我做错了什么?

由于

3 个答案:

答案 0 :(得分:1)

当您打算使用比较运算符时,您正在使用赋值运算符。简单的错误。改为......

if (jQuery(this).val() == "global"){...}

答案 1 :(得分:0)

您的比较不正确:

if(jQuery(this).val() = "global"){...}

应该是

if(jQuery(this).val() == "global"){...}

或者

if(jQuery(this).val() === "global"){...}

请注意,作业= comparison 不等同于==或严格相等===

编辑:根据以下评论,OP在获取select选项的值时遇到问题。尝试执行以下操作:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
    jQuery(document).ready(function (){
        jQuery("select[id=filepermissiontype]").change(function() {           
            if (jQuery(this).val() = "global") {
                jQuery("#filepermissioncompanyid").hide();
            }else{
                jQuery("#filepermissioncompanyid").show();
            } 
        });
    });
</script>

请将此 Stack Overflow Answer 视为未来参考。

答案 2 :(得分:0)

小错误'='是赋值,==用于比较

     jQuery(document).ready(function (){
     jQuery("#filepermissiontype").change(function() {           

     if (jQuery(this).val() == "global") {
             jQuery("#filepermissioncompanyid").hide();
        }else{
            jQuery("#filepermissioncompanyid").show();
        } 
    });
});