Javascript JQuery帮助,如何隐藏JQuery中的所有按钮
我正试图在我的项目中创建请求/回复部分。Javascript JQuery帮助,如何隐藏JQuery中的所有按钮,javascript,jquery,Javascript,Jquery,我正试图在我的项目中创建请求/回复部分。 我希望在该代码中实现这些功能(我无法实现;所以请大家帮助我): 1> 当用户点击回复按钮时;其他回复区域(文本区域+按钮)应隐藏(意味着用户一次只能看到一个回复区域)。 2> 当用户点击回复按钮时,文本区域将聚焦,页面将向下滑动(假设用户回复10条评论焦点将自动设置为10号文本区域,页面将相应地向下滑动到该位置) 以下是我迄今为止的代码人员: //method call on the click of reply link. func
我希望在该代码中实现这些功能(我无法实现;所以请大家帮助我):
1> 当用户点击回复按钮时;其他回复区域(文本区域+按钮)应隐藏(意味着用户一次只能看到一个回复区域)。
2> 当用户点击回复按钮时,文本区域将聚焦,页面将向下滑动(假设用户回复10条评论焦点将自动设置为10号文本区域,页面将相应地向下滑动到该位置) 以下是我迄今为止的代码人员:
//method call on the click of reply link.
function linkReply_Clicked(issueId) {
Id = issueId;
textId = "text_" + issueId + count;
btnReply = "btnReply_" + issueId + count;
btnCancel = "btnCancel_" + issueId + count;
var textareasArray = document.getElementsByTagName("textarea");
var btnArray = document.getElementsByTagName("input");
for (i = 0; i < textareasArray.length; i++) {
textareasArray[i].style.display = "none";
btnArray[i].style.display = "none";
}
var str = "<table cellpadding='3' cellspacing='0' width='58%'>";
str += "<tr><td valign='top' align='left'>";
str += "<textarea id=" + textId + " rows='5' cols='60'></textarea>";
str += "</td></tr>";
str += "<tr><td valign='top' align='right'>";
str += "<input id=" + btnReply + " type='button' onclick='btnReply_Clicked(Id ,textId)' value='Reply' /> ";
str += "<input id=" + btnCancel + " type='button' onclick='btnCancel_Clicked(Id ,textId)' value='Cancel' /> ";
str += "</td></tr>";
str += "</table>";
document.getElementById("divOuter_" + issueId).innerHTML = str;
$("#" + textId + "").focus();
}
// submit user reply and try to hide that reply area.
function btnReply_Clicked(issueId, textID) {
var comment = document.getElementById(textID).value;
if (comment != '') {
$.getJSON("/Issue/SaveComment", { IssueId: issueId, Comment: comment }, null);
$("#text_" + issueId + count).hide();
$("#btnReply_" + issueId + count).hide();
$("#btnCancel_" + issueId + count).hide();
document.getElementById(textID).value = '';
count = count + 1;
}
}
// cancel user reply and try to hide that reply area.
function btnCancel_Clicked(issueId, textId) {
$("#text_" + issueId + count).hide();
$("#btnReply_" + issueId + count).hide();
$("#btnCancel_" + issueId + count).hide();
document.getElementById(textId).value = '';
count = count + 1;
}
//单击回复链接调用方法。
函数链接已单击(issueId){
Id=issueId;
textId=“text_”+issueId+count;
btnReply=“btnReply_933;”+发行ID+计数;
btnCancel=“btnCancel_389;”+issueId+count;
var textareasArray=document.getElementsByTagName(“textarea”);
var btnArray=document.getElementsByTagName(“输入”);
对于(i=0;i
我对此做了一点更改,因为您已经在使用jQuery:)
您可以用以下代码替换所有已发布的代码:
function linkReply_Clicked(issueId) {
$(".replyTable").hide();
var tbl = $("<table class='replyTable' cellpadding='3' cellspacing='0' width='58%'></table>");
tbl.append("<tr><td valign='top' align='left'><textarea rows='5' cols='60'></textarea></td></tr>");
tbl.append("<tr><td valign='top' align='right'><input type='button' class='reply' value='Reply' /> <input type='button' class='cancel' value='Cancel' /> </td></tr>");
tbl.find(".reply").click(function() {
var comment = $(this).closest("table").find("textarea").val();
if (comment != '') {
$.getJSON("/Issue/SaveComment", { IssueId: issueId, Comment: comment }, null);
$(this).closest("div").empty();
}
}).siblings(".cancel").click(function() {
$(this).closest("div").empty();
});
var div = $("#divOuter_" + issueId).empty().append(tbl);
$('html, body').animate({ scrollTop: $(div).offset().top }, 500,
function() { div.find("textarea").focus(); });
}
function linkReply\u单击(issueId){
$(“.replyTable”).hide();
变量tbl=$(“”);
tbl.附加(“”);
tbl.附加(“”);
tbl.find(“.reply”)。单击(函数(){
var comment=$(this.closest(“table”).find(“textarea”).val();
如果(注释!=''){
$.getJSON(“/Issue/SaveComment”,{IssueId:IssueId,Comment:Comment},null);
$(this).closest(“div”).empty();
}
}).同级(“.cancel”)。单击(函数(){
$(this).closest(“div”).empty();
});
var div=$(“#divOuter”+issueId).empty().append(待定);
$('html,body').animate({scrollTop:$(div.offset().top},500,
函数(){div.find(“textarea”).focus();});
}
这与幻灯片效果不同&隐藏和滚动问题:
- 回复/取消按钮的单击处理程序现在是串联的,不需要额外的功能
- 输入不再有需要跟踪的ID,它只是相对地找到它们
- 表有一个类
,所以所有旧表都可以快速隐藏replyTable
- 输入具有类以更容易地找到它们(绑定单击处理程序)
- 不再计数,无需:)
- 设置身体动画,对位置执行快速滚动效果,并聚焦文本区域
- 删除旧表以进行清理