获取选中的单选按钮并在Asp.net MVC中隐藏输入(可能使用jquery?)

获取选中的单选按钮并在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

这是我查看的实际代码,jquery代码似乎不起作用

已经尝试了一些东西,比如js/jquery,在代码上使用了不同的方法(大多数尝试都使用了两种语言的不同语法),但没有任何效果。我希望当CbUsuario被检查时,Cnpj输入被隐藏,如果需要,我也可以将html输入更改为razor输入

请记住,我也是javascript/jquery和mvc方面的新手

@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();
                }
      });
  });