Javascript 选择选项时隐藏/显示div更改不起作用
我试图根据id为“OpcoesCampos”的select隐藏/显示我的div,但此代码不起作用。有人能解释一下我的原因并给我一些帮助吗? 顺便问一下,是否可以根据选择/输入上的选择值调用控制器方法Javascript 选择选项时隐藏/显示div更改不起作用,javascript,jquery,asp.net-mvc,hide,show-hide,Javascript,Jquery,Asp.net Mvc,Hide,Show Hide,我试图根据id为“OpcoesCampos”的select隐藏/显示我的div,但此代码不起作用。有人能解释一下我的原因并给我一些帮助吗? 顺便问一下,是否可以根据选择/输入上的选择值调用控制器方法 <body class="img-main" style="background-image: url(https://images.pexels.com/photos/34578/pexels-photo.jpg?cs=srgb&dl=blogging-business-coding
<body class="img-main" style="background-image: url(https://images.pexels.com/photos/34578/pexels-photo.jpg?cs=srgb&dl=blogging-business-coding-34578.jpg&fm=jpg); background-size: cover;">
<h2 style="color:white;"> Lista de Estágios/Projetos </h2>
<div class="panel panel-primary">
<div class="panel-heading">
<select class="form-control" id="OpcoesCampos">
<option>Selecione o filtro</option>
<option>Propostas Ativas</option>
<option>Localização</option>
<option>Ano/Semestre</option>
</select>
<input id="Localização" type="text">
<div class="form-group" id="Ano">
<div class="col-md-10">
// Some options inside here
</div>
</div>
<div class="form-group" id="Semestre">
<div class="col-md-10">
// Some options inside here
</div>
</div>
</div>
<div class="panel-body">
// Just a table with content inside here
<p>
@Html.ActionLink("Adicionar Projeto/Estágio", "Create")
</p>
</div>
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
$(function () {
$('#OpcoesCampos').change(function () {
e.preventDefault()
MostraDropDownList($(this).val());
});
});
function MostraDropDownList(this) {
if (myFormType == 'Propostas Ativas') {
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == 'Localização') {
$('#Localização').show();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == "Ano/Semestre") {
$('#Localização').hide();
$('#Ano').show();
$('#Semestre').show();
e.stopPropagation();
}
}
</script>
}
</body>
伊斯塔吉奥斯/项目清单
Selecione o filtro
命题
奥里萨昂
阿诺/塞梅斯特
//这里有一些选择
//这里有一些选择
//这里只有一张有内容的桌子
@ActionLink(“Adicionar Projeto/Estágio”,“创建”)
@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
$(函数(){
$('#OpcoesCampos')。更改(函数(){
e、 预防默认值()
MostraDropDownList($(this.val());
});
});
功能MostraDropDownList(此){
如果(myFormType=='Propositativas'){
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
e、 停止传播();
}
else if(myFormType=='Localizaão'){
$('#Localizaão').show();
$('#Ano').hide();
$('Semestre').hide();
e、 停止传播();
}
else if(myFormType==“Ano/Semestre”){
$('#Localizaão').hide();
$('#Ano').show();
$('Semestre').show();
e、 停止传播();
}
}
}
以下是解决方案
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
$(function () {
$('#OpcoesCampos').change(function (e) {
MostraDropDownList($(this).val(),e);
e.preventDefault();
});
});
function MostraDropDownList(myFormType,e) {
if (myFormType == 'Propostas Ativas') {
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == 'Localização') {
$('#Localização').show();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == "Ano/Semestre") {
$('#Localização').hide();
$('#Ano').show();
$('#Semestre').show();
e.stopPropagation();
}
}
发现问题->e.preventDefault()必须在函数调用后调用(MostraDropDownList)
您必须使用而不是使用“myFormType”来传递参数
谢谢。这是解决方案
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
$(function () {
$('#OpcoesCampos').change(function (e) {
MostraDropDownList($(this).val(),e);
e.preventDefault();
});
});
function MostraDropDownList(myFormType,e) {
if (myFormType == 'Propostas Ativas') {
$('#Localização').hide();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == 'Localização') {
$('#Localização').show();
$('#Ano').hide();
$('#Semestre').hide();
e.stopPropagation();
}
else if (myFormType == "Ano/Semestre") {
$('#Localização').hide();
$('#Ano').show();
$('#Semestre').show();
e.stopPropagation();
}
}
发现问题->e.preventDefault()必须在函数调用后调用(MostraDropDownList)
您必须使用而不是使用“myFormType”来传递参数
谢谢
我已经修复了代码中的一些问题。现在它不会给你
错误,您可以根据需要修改html。也显示和隐藏
会有用的
不需要在每次函数调用时传递额外的参数
时间更好的方法是调用e.stopPropagation();后功能
打电话
伊斯塔吉奥斯/项目清单
Selecione o filtro
命题
奥里萨昂
阿诺/塞梅斯特
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
函数MostraDropDownList(myFormType){
如果(myFormType=='Propositativas'){
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
}
else if(myFormType=='Localizaão'){
$('#Localizaão').show();
$('#Ano').hide();
$('Semestre').hide();
}
else if(myFormType==“Ano/Semestre”){
$('#Localizaão').hide();
$('#Ano').show();
$('Semestre').show();
}
}
$(函数(){
$('#OpcoesCampos')。更改(函数(e){
e、 预防默认值();
MostraDropDownList($(this.val());
e、 停止传播();
});
});
我已经修复了代码中的一些问题。现在它不会给你
错误,您可以根据需要修改html。也显示和隐藏
会有用的
不需要在每次函数调用时传递额外的参数
时间更好的方法是调用e.stopPropagation();后功能
打电话
伊斯塔吉奥斯/项目清单
Selecione o filtro
命题
奥里萨昂
阿诺/塞梅斯特
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
函数MostraDropDownList(myFormType){
如果(myFormType=='Propositativas'){
$('#Localizaão').hide();
$('#Ano').hide();
$('Semestre').hide();
}
else if(myFormType=='Localizaão'){
$('#Localizaão').show();
$('#Ano').hide();
$('Semestre').hide();
}
else if(myFormType==“Ano/Semestre”){
$('#Localizaão').hide();
$('#Ano').show();
$('Semestre').show();
}
}
$(函数(){
$('#OpcoesCampos')。更改(函数(e){
e、 预防默认值();
MostraDropDownList($(this.val());
e、 停止传播();
});
});