Javascript JQuery显示/隐藏字段第一次工作不正常

Javascript JQuery显示/隐藏字段第一次工作不正常,javascript,jquery,hidden-field,Javascript,Jquery,Hidden Field,我在处理这段代码时遇到了一些问题。它可以工作,但只有在我点击单选按钮后,它才会受到两次影响。当我第一次单击按钮时,它不工作,但如果我再次单击它,它会工作。我做错什么了吗?有更好的方法吗 function hide(){ $(document).ready(function(){ $("input[id$='yes']").click(function(){ $("div#hidden").fadeOut(2000); }); }); };

我在处理这段代码时遇到了一些问题。它可以工作,但只有在我点击单选按钮后,它才会受到两次影响。当我第一次单击按钮时,它不工作,但如果我再次单击它,它会工作。我做错什么了吗?有更好的方法吗

function hide(){
   $(document).ready(function(){
      $("input[id$='yes']").click(function(){
         $("div#hidden").fadeOut(2000);
      });
   });
};
这是我的标题中的内容。我有另一个类似的功能,叫做show(),它受另一个单选按钮的影响。当您单击其中一个时,它会隐藏一个div,当您单击另一个时,它会显示该div

下面是一个单选按钮,它会影响脚本以确定div是隐藏的还是显示的

<input type="radio" name="field1" id="yes" value="Y" onClick="hide();" />Yes
同样,还有另一个与之类似的示例,只是它不是。现在,隐藏的div是:

<div id="hidden"><input type="text" name="extrafield1" id="no_box" size="20" maxlength="20" /></div>

同样,单击“否”单选按钮时,它应该出现,单击“是”单选按钮时,它应该隐藏。它可以工作,但您必须单击单选按钮两次

此代码段在页面加载时隐藏div:

function loadHidden(){
    $("div#hidden").hide();
}

<body onLoad="loadHidden()">
函数loadHidden(){
$(“div#hidden”).hide();
}

任何帮助都将不胜感激。谢谢。

您在隐藏函数中定义了document.ready事件,因此在首次加载文档时不会注册click函数的事件。尝试这样的结构:

$(document).ready(function(){
    $("input[id$='yes']").click(function(){
        $("div#hidden").fadeOut(2000);
    });

    $("input[id$='no']").click(function(){
        $("div#hidden").fadeIn(2000);
    });
});

这样,当文档准备就绪时,单击事件就全部设置好了,您不需要单选按钮上的onClick属性。

看起来是
hide()
导致了问题。试试这个。

只需在文档中写入逻辑即可。在元素中单击事件即可

试试这个:

$(document).ready(function(){
  $(':radio[name=field1]').change(function () {
     if($(this).val()=='Y'){
       $("div#hidden").fadeOut(2000);
     }
     else{
       $("div#hidden").fadeIn(2000);
     }
  });
});

您正在事件处理程序函数中使用jQuery和突出的JavaScript以及
$(document).ready(function(){..})
。原因是什么?对不起,我对jQuery不是很在行,而且我还在习惯它。这是我看到脚本运行的方式,因此将其应用到我的代码中。Chuck Spohr:谢谢你的回答。这很有效。我从未想到$(document).ready在函数中。谢谢你的眼睛,当然。我也去过那里。祝你好运谢谢你的帮助。我真的很感激。