Javascript 基于另一个选择的值隐藏一个选择
我试图实现使1个选定项的可见性依赖于另一个1。我想我可以用javascript这样做: 负责人:Javascript 基于另一个选择的值隐藏一个选择,javascript,html,Javascript,Html,我试图实现使1个选定项的可见性依赖于另一个1。我想我可以用javascript这样做: 负责人: jQuery(文档).ready(函数(){ jQuery(“#filepermissiontype”).change(函数(){ if(jQuery(this).val()=“全局”){ jQuery(“#filepermissioncompanyid”).hide(); }否则{ jQuery(“#filepermissioncompanyid”).show(); } }); }); 要素
jQuery(文档).ready(函数(){
jQuery(“#filepermissiontype”).change(函数(){
if(jQuery(this).val()=“全局”){
jQuery(“#filepermissioncompanyid”).hide();
}否则{
jQuery(“#filepermissioncompanyid”).show();
}
});
});
要素:
<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>
当您打算使用比较运算符时,您正在使用赋值运算符。简单的错误。改成
if (jQuery(this).val() == "global"){...}
你的比较不正确:
if(jQuery(this).val() = "global"){...}
应该是
if(jQuery(this).val() == "global"){...}
或
请记住,对于相等=
或严格相等==
而言,赋值=
与不同
编辑:根据下面的评论,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>
jQuery(文档).ready(函数(){
jQuery(“选择[id=filepermissiontype]”)。更改(函数(){
if(jQuery(this).val()=“全局”){
jQuery(“#filepermissioncompanyid”).hide();
}否则{
jQuery(“#filepermissioncompanyid”).show();
}
});
});
请查看此作为将来的参考。小错误“=”是赋值,==用于比较
jQuery(document).ready(function (){
jQuery("#filepermissiontype").change(function() {
if (jQuery(this).val() == "global") {
jQuery("#filepermissioncompanyid").hide();
}else{
jQuery("#filepermissioncompanyid").show();
}
});
});
将if(jQuery(this.val()=“global”)更改为if(jQuery(this.val()=“global”)。嗨,我试过了(我犯了一个愚蠢的错误),但这并没有改变结果中的任何东西。因此,即使使用if(jQuery(this.val()=“global”),第二个选择也总是在那里,然后将其分解,console.log(jQuery(this.val())
应该有助于在jQuery(“#filepermissiontype”).change中找出问题的根源。如果值相同并且比较有效,那么有什么东西干扰了.hide()
和.show()
jQuery功能hi,我添加了如下内容:jQuery(document).ready(function(){jQuery(“#filepermissiontype”).change(function(){console.log(jQuery(this).val());if(jQuery(this.val()=“global”){jQuery(“#filepermissioncompanyid”).hide();}else{jQuery(#filepermissioncompanyid”).show()});
但我没有在列表中看到任何内容console@mitch2k我已经用您需要的修复更新了我的答案。我没有使用选择器jQuery(#filepermissiontype”)
,而是使用jQuery(“select[id=filepermissiontype]”
尝试一下,以获得帮助。不幸的是,即使使用==和jQuery(“选择[id=filepermissiontype]”),它也无法工作。
<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>
jQuery(document).ready(function (){
jQuery("#filepermissiontype").change(function() {
if (jQuery(this).val() == "global") {
jQuery("#filepermissioncompanyid").hide();
}else{
jQuery("#filepermissioncompanyid").show();
}
});
});