选中特定单选按钮的检查,但它不起作用

时间:2016-06-06 17:33:22

标签: jquery html radio-button

我想在单选按钮检查时显示ptext,并在另一个单选按钮处于活动状态时隐藏 但是不起作用

这是我的代码:

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
  </head>
  <body>
    <input id="postageyes" name="type" value="Paint" type="radio">Paint
    <br>
    <input id="postageno" name="type" value="Sculpture" type="radio">Sculpture
    <br>
    <input id="postageno" name="type" value="calligraphy" type="radio">calligraphy
    <br>
    <input id="stext" name="type" value="type" type="text"><br>
    <input id="ctext" name="type" value="type" type="text"><br>
    <input id="ptext" name="type" value="type" type="text">
    <script type="text/javascript">

      $('input:radio[name="postage"]').change(function() {
        if ($(this).val() == 'Paint') {
          $("#ptext").show();
        } else {
          $("#ptext").hide();
        }
      });

    </script>



  </body>
</html>

3 个答案:

答案 0 :(得分:1)

您有两个主要问题:

  • id的值应该是唯一的。
  • inputname没有postage
  • 额外:最好在加载页面时隐藏ptext

name更改为postage

<input id="postageyes" name="postage" value="Paint" type="radio">Paint
<br>
<input id="postageno1" name="postage" value="Sculpture" type="radio">Sculpture
<br>
<input id="postageno2" name="postage" value="calligraphy" type="radio">calligraphy

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="postageyes" name="postage" value="Paint" type="radio">Paint
<br>
<input id="postageno1" name="postage" value="Sculpture" type="radio">Sculpture
<br>
<input id="postageno2" name="postage" value="calligraphy" type="radio">calligraphy
<br>
<input id="stext" name="type" value="type" type="text"><br>
<input id="ctext" name="type" value="type" type="text"><br>
<input id="ptext" name="type" value="type" type="text">
<script type="text/javascript">
  $("#ptext").hide();
  $('input:radio[name="postage"]').change(function() {
    if ($(this).val() == 'Paint') {
      $("#ptext").show();
    } else {
      $("#ptext").hide();
    }
  });

</script>

此外,最好在加载文档时隐藏它。见上面的例子。

答案 1 :(得分:0)

您必须在jQuery中传递错误的单选按钮名称,请查看以下代码?

<script type="text/javascript">

    $('input:radio[name="type"]').change(function() {
      if ($(this).val() == 'Paint') {
        $("#ptext").show();
      } else {
        $("#ptext").hide();
      }
    });

</script>

答案 2 :(得分:0)

HTML - 修复程序仅在name属性中,因为你的html说&#34; Type&#34;而不是&#34;邮资&#34;

<input id="postageyes" name="postage" value="Paint" type="radio">Paint
    <br>
    <input id="postageno" name="postage" value="Sculpture" type="radio">Sculpture
    <br>
    <input id="postageno" name="postage" value="calligraphy" type="radio">calligraphy
    <br>
    <input id="stext" name="type" value="type" type="text"><br>
    <input id="ctext" name="type" value="type" type="text"><br>
    <input id="ptext" name="type" value="type" type="text" style="display:none">

Javascript - javascript如果正常工作,我只会给你一个建议并且是,准备好文件

$(document).ready(function() {

    $('input:radio[name="postage"]').change(function() {
        if ($(this).val() == 'Paint') {
          $("#ptext").show();
        } else {
          $("#ptext").hide();
        }
      });

});