我想在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');
}
})
});
实现此目的的一种方法是在data-controls
元素上创建与相应button
元素的id
匹配的textarea
属性。然后,您可以向js-reply-button
元素添加button
类以绑定jQuery事件。