我如何附加Id属性选择器或将Id存储在Jquery变量中并将该变量用作选择器?

问题描述 投票:0回答:1

我想在ID上使用id作为选择器在jquery中单击重播按钮时对textarea元素执行显示/隐藏操作,但是我的id的格式为id = "textarea"+dat.description_id,即dat.description_id是我连接的值。而且我已经将此元素放入循环中,因此页面上有很多textarea字段。

        -if(data.length > 0)
            each dat in data
              form(action="/update/"+dat.description_id, method="post")
                tr
                  td #{dat.description_id}
                  td #{dat.applied_date}
                  td #{dat.fullname}
                  td 
                  td #{dat.complaint_name}
                  td #{dat.complaint}
                  td
                    div(style="display:flex")
                      -if(dat.status == 'Done')
                        p #{dat.replay}
                      -else
                        textarea(name="replay" id="textarea"+dat.description_id class="form-control" cols="30", rows="2")
                        button(type="submit" id="replay-btn"+dat.description_id  class="btn btn-primary m-2" onclick="myfun()") Reply

通过执行以下Jquery代码,页面上不会发生任何事件。根据我的说法,如果我可以将ID存储在jquery变量中,则可以执行此操作,但问题是如何使用该变量作为选择器,否则如何将dat.description_id附加到$("textarea")中。请告诉我该问题的解决方案...

script.
      $(document).ready(function(){
          $("textarea").hide();
          $('#replay-btn').click(function(){
            $("#textarea").toggle();
          });

          $("#textarea").keyup(function(){
            var len = $(this).val().length;
            if(len > 0)
            {
              $("#replay-btn").attr('type','submit');
            }
            else{
              $("#replay-btn").attr('type','button');
            }
          })
      });
javascript html jquery node.js pug
1个回答
0
投票

实现此目的的一种方法是在data-controls元素上创建与相应button元素的id匹配的textarea属性。然后,您可以向js-reply-button元素添加button类以绑定jQuery事件。

© www.soinside.com 2019 - 2024. All rights reserved.