获取选中的单选按钮并在Asp.net MVC中隐藏输入(可能使用jquery?)
这是我查看的实际代码,jquery代码似乎不起作用 已经尝试了一些东西,比如js/jquery,在代码上使用了不同的方法(大多数尝试都使用了两种语言的不同语法),但没有任何效果。我希望当CbUsuario被检查时,Cnpj输入被隐藏,如果需要,我也可以将html输入更改为razor输入 请记住,我也是javascript/jquery和mvc方面的新手获取选中的单选按钮并在Asp.net MVC中隐藏输入(可能使用jquery?),jquery,html,asp.net,razor,model-view-controller,Jquery,Html,Asp.net,Razor,Model View Controller,这是我查看的实际代码,jquery代码似乎不起作用 已经尝试了一些东西,比如js/jquery,在代码上使用了不同的方法(大多数尝试都使用了两种语言的不同语法),但没有任何效果。我希望当CbUsuario被检查时,Cnpj输入被隐藏,如果需要,我也可以将html输入更改为razor输入 请记住,我也是javascript/jquery和mvc方面的新手 @model Collab.Domain.Entities.Usuario @{ ViewBag.Title = "Registrar
@model Collab.Domain.Entities.Usuario
@{
ViewBag.Title = "Registrar";
}
<div class="limiter">
<div class="container-form">
<div class="wrap-login">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<span class="cadastro-form-title">
Cadastro
</span>
<p>@ViewBag.ErrorMessage</p>
<div class="wrap-input">
<input class="input" type="text" name="Nome">
<span class="focus-input" data-placeholder="Nome"></span>
</div>
<div class="wrap-input">
<input class="input" type="text" name="CPF">
<span class="focus-input" data-placeholder="CPF"></span>
</div>
<div class="wrap-input" id="Cnpj">
<input class="input" type="text" name="Cnpj" id="Cnpj">
<span class="focus-input" data-placeholder="CNPJ" id="Cnpj"></span>
</div>
<div class="wrap-input validate-input" data-validate="Insira um email válido">
<input class="input" type="text" name="Email">
<span class="focus-input" data-placeholder="E-mail"></span>
</div>
<div class="wrap-input validate-input" data-validate="Preencha o campo senha">
<span class="btn-show-pass">
<i class="zmdi zmdi-eye"></i>
</span>
<input class="input" type="password" name="Senha">
<span class="focus-input" data-placeholder="Senha"></span>
</div>
<span>Tipo da conta:</span>
<div>
<input type="radio" name="Cb" value="Usuario" id="CbUsuario"> Usuario<br>
<input type="radio" name="Cb" value="Pesquisador" id="CbPesquisador"> Pesquisador<br>
<input type="radio" name="Cb" value="Investidor" id="CbInvestidor"> Investidor
</div>
<div class="container-form-btn">
<div class="wrap-form-btn">
<div class="form-bgbtn"></div>
<button class="form-btn">
Cadastrar
</button>
</div>
</div>
}
</div>
</div>
@model Collab.Domain.Entities.Usuario
@{
ViewBag.Title=“注册者”;
}
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
地籍
@ViewBag.ErrorMessage
提波达康塔:
Usuario
佩斯奎萨多
投资者
地籍
}
@节脚本{
@Scripts.Render(“~/Scripts/jqueryval”)
@Scripts.Render(“~/Scripts/jquery-1.10.2.js”)
@Scripts.Render(“~/Scripts/jquery-1.10.2.min.js”)
@Scripts.Render(“~/Scripts/jquery.validate.js”)
@Scripts.Render(“~/Scripts/jquery.validate.min.js”)
$(文档).ready(函数(){
$(“#Cb”)。更改(函数(){
var checkedradio=$('[name=“Cb”]:radio:checked').val();
如果(checkedradio.val()=“Usuario”){
$(“#Cnpj”).hide();
}
});
});
}
您已经非常接近了,但是有几件事需要调整以使其正常工作。首先,当您正在寻找名称选择器时,您的更改事件正在使用ID选择器。您已经在change回调中找到了它,因此重新使用它将正确触发事件:
$(“#Cb”).change()
变为$(“[name=Cb]:radio”).change()
接下来,您将获得选中单选按钮的值,然后尝试对该字符串值调用.val()
,这将抛出一个错误。如果将If
块更新为仅比较上一行的值检查结果,则应该是正确的。更改后,应如下所示:
$("[name=Cb]:radio").change(function() {
var checkedValue = $('[name="Cb"]:radio:checked').val();
if (checkedValue == "Usuario") {
$("#Cnpj").hide();
} else {
$("#Cnpj").show();
}
});
我添加了一个else
块,因此选择其他单选按钮将显示隐藏的文本框,因此在选中Usuario
单选按钮后,它不会永远消失。试试这个
<input type="radio" class="radio" name="Cb" value="Usuario" id="CbUsuario"> Usuario<br>
<input type="radio" class="radio" name="Cb" value="Pesquisador" id="CbPesquisador"> Pesquisador<br>
<input type="radio" class="radio" name="Cb" value="Investidor" id="CbInvestidor"> Investidor
$(文档).ready(函数(){
$(“输入[name='Cb']”)。更改(函数(e){
if($(this).val()=='Usuario'){
$('Cnpj').css('visibility','hidden');
}否则{
$('Cnpj').css('visibility','visibility');
}
});
});代码>
Usuario
佩斯奎萨多
投资者
<input type="radio" class="radio" name="Cb" value="Usuario" id="CbUsuario"> Usuario<br>
<input type="radio" class="radio" name="Cb" value="Pesquisador" id="CbPesquisador"> Pesquisador<br>
<input type="radio" class="radio" name="Cb" value="Investidor" id="CbInvestidor"> Investidor
$(document).ready(function () {
$(".radio").change(function () {
var checkedradio = $('[name="Cb"]:radio:checked').val();
if (checkedradio == "Usuario") {
$("#Cnpj").hide();
}
else {
$("#Cnpj").show();
}
});
});