Javascript 选择单选按钮时隐藏特定表单输入

Javascript 选择单选按钮时隐藏特定表单输入,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我的第二个单选按钮按预期工作。我试图让我的第一个单选按钮(企业名称)在选中时隐藏第二个输入字段 函数formChoice(x) { 如果(x==0) $('#field1').css('display','block'); 其他的 $('#field1').css('display','none'); 返回; } 选择“业务URL”时尝试隐藏第二个输入字段 业务URL 我没有网站,但这里有一些我喜欢的网站! 在这里,我做了一些编辑,以便您可以看到哪个输入是哪个,然后在选中业务URL广播时,我

我的第二个单选按钮按预期工作。我试图让我的第一个单选按钮(企业名称)在选中时隐藏第二个输入字段

函数formChoice(x)
{
如果(x==0)
$('#field1').css('display','block');
其他的
$('#field1').css('display','none');
返回;
}

选择“业务URL”时尝试隐藏第二个输入字段
业务URL
我没有网站,但这里有一些我喜欢的网站!

在这里,我做了一些编辑,以便您可以看到哪个输入是哪个,然后在选中业务URL广播时,我还隐藏了“输入2”

函数formChoice(x)
{
如果(x==0)
$('#field2').css('display','none');
其他的
$('#field2').css('display','block');
返回;
}

选择“业务URL”时尝试隐藏第二个输入字段
业务URL
我没有网站,但这里有一些我喜欢的网站!

首先,请检查jQuery导入是否正确

您可能希望同时更新这两个字段

function formChoice(x) { 
    if(x==0){
      $('#field1').show();
      $('#field2').hide();
    } else {
      $('#field1').hide();
      $('#field2').show();
    }
  }

您的代码几乎执行了正确的逻辑

你的方法 当您的单选按钮
field1
被选中时,您将尝试使用
$('#field1').css('display','block')隐藏。您要做的是设置
display:none

$('#field1').css('display', 'block');
                             ^
您的单选按钮
field1
已被选中,可能您不希望:

<input type="radio" name="rad1" onclick="formChoice(0)" checked>
                                                        ^

选择“业务URL”时尝试隐藏第二个输入字段
业务URL

我没有网站,但这里有一些我喜欢的网站

您需要像这样修复
formChoice
以使其响应参数:

function formChoice(x)
{
    $('#field' + x).css('display', 'block');
}
并在将其调用到html中时传递正确的值:

<head>
<h1> Trying to hide second input field when 'Business URL' is selected</h1>
</head>
<body>
  <form>
  <input type="radio" name="rad1" onclick="formChoice(2)" checked> Business URL
    <input type="text" name="businessSite" id="field1">
  <input type="radio" name="rad1" onclick="formChoice(1)"> I don't have a website but here are some sites I like!
    <input type="text" name="businessSite" id="field2">
  </form>

选择“业务URL”时尝试隐藏第二个输入字段
业务URL
我没有网站,但这里有一些我喜欢的网站!

这似乎起作用了。我想你需要包括Jquery或javascript引用。嗯,当我用这个单选按钮选择第二个单选按钮时,我仍然可以看到第一个输入字段。在“else”周围添加括号后,这起作用了。很高兴我能帮助@Cosmos。如果这回答了您的问题,请标记为答案。谢谢,祝你在应用程序建设中好运!我仍然看到选择了第二个单选按钮的第一个输入字段。有什么办法吗?@Cosmos您的问题没有说明这一点。在“else”周围添加括号并删除“return”后,这一方法起到了作用。我仍然看到第一个输入字段中选中了第二个单选按钮。有什么办法吗?试着给if和else加上花括号。我编辑了我的答案。
function formChoice(x)
{
    $('#field' + x).css('display', 'block');
}
<head>
<h1> Trying to hide second input field when 'Business URL' is selected</h1>
</head>
<body>
  <form>
  <input type="radio" name="rad1" onclick="formChoice(2)" checked> Business URL
    <input type="text" name="businessSite" id="field1">
  <input type="radio" name="rad1" onclick="formChoice(1)"> I don't have a website but here are some sites I like!
    <input type="text" name="businessSite" id="field2">
  </form>