使用jQuery使用动态单选按钮隐藏Div?

使用jQuery使用动态单选按钮隐藏Div?,jquery,dynamic,radio-button,hidden,Jquery,Dynamic,Radio Button,Hidden,事实:我不太擅长jQuery 问题: 我有一个包含动态呈现单选按钮的表单。当单击单选按钮时,我希望显示一个div来给出文本解释。在隐藏的div中,我需要一个按钮或链接来关闭div。我有一组27个单选按钮,单击每个按钮都可以很好地显示正确的div,我可以单击另一个单选按钮,然后切换到下一个隐藏的div,但之后我无法隐藏它们!但是,我可以隐藏第一个单选按钮的div,但是我不能隐藏其他26个单选按钮中的任何一个,按钮在这些div中没有任何作用 以下是我的单选按钮的代码: $categoryQuery

事实:我不太擅长jQuery

问题:

我有一个包含动态呈现单选按钮的表单。当单击单选按钮时,我希望显示一个div来给出文本解释。在隐藏的div中,我需要一个按钮或链接来关闭div。我有一组27个单选按钮,单击每个按钮都可以很好地显示正确的div,我可以单击另一个单选按钮,然后切换到下一个隐藏的div,但之后我无法隐藏它们!但是,我可以隐藏第一个单选按钮的div,但是我不能隐藏其他26个单选按钮中的任何一个,按钮在这些div中没有任何作用

以下是我的单选按钮的代码:

 $categoryQuery = "SELECT * FROM blah, blah";
 $categoryResult = mysqli_query($link, $categoryQuery );

                    while($row = mysqli_fetch_array($categoryResult)){

       $cat_id = $row['att_cat_id'];
       $category = $row['att_cat_name'];

 echo "<input type='radio' name='AttorneyCategory[]' value='$cat_id'> $category<br />";
从数据库创建的隐藏div的代码:

 $categoryhelpQuery = "SELECT * FROM blah blah";
 $categoryhelpResult = mysqli_query($link, $categoryhelpQuery );

                    while($row = mysqli_fetch_array($categoryhelpResult)){

       $cat_id = $row['att_cat_id'];
       $category = $row['att_cat_name'];
       $category_description = $row['att_cat_description'];

 echo "<div id='blk-$cat_id' class='toHide'>";
 echo "<strong><em><center>Attorney Search Help Center</center></em></strong><button           id='hidr'>Hide</button><br />";
 echo "<strong>$category:</strong>&nbsp;&nbsp;$category_description";
 echo "</div>";
这是我的jQuery代码:

 <script type="text/javascript"   src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

  <script type="text/javascript">
 $(function() {
     $("[name='AttorneyCategory[]']").click(function(){
        $('.toHide').hide();
        $("#blk-"+$(this).val()).show();
     });


 });

  $("#hidr").click(function () {
  $('.toHide').hide(1000);
 });


 </script>

任何帮助都很好。

不用.hide1000,你能用.toggle吗?

第一件事:它看起来像你的

$("#hidr").click(function () {
$('.toHide').hide(1000);
});
在你的范围之外

$(function(){
   // this part
});
我相信您知道,jQuery在页面准备好被访问之后运行该函数中的所有内容。现在我认为jQuery正在寻找HIDR,但没有找到任何HIDR,因为这段代码将尽快运行。可能在浏览器进行任何隐藏之前

但是等等!还有更多。仔细看

 <button id='hidr'>Hide</button>

祝你的律师好运

谢谢你让我知道这个错误。我修好了,但还是不能正常工作。只有第一个单选按钮的div将隐藏正确!原谅我。我需要将我的stackoverflow帐户设置为电子邮件提醒:让我编辑我的答案。
 $(".hidr").click(function () {
   $(this).parent().hide(1000);
 });