我正在尝试实现使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>
有了这个,我希望当我在第一个选择中选择全局时,第二个选择将消失,但这不会发生。我做错了什么?
由于
答案 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();
}
});
});