我有一个TextBox和一个Button,和 我有一个很长的GridView(我不想分页),所以我把它放在一个Div中,启用了垂直滚动条。
我只想在文本框中输入搜索字符串,如果单击按钮,它应找到字符串匹配的行并设置其背景颜色,并应滚动到该行。
这应该在Javascript中完成。 我能够做所有事情,但滚动到找到的行没有运气。
javascript函数如下所示
function NextClinic() {
var gvClinics = document.getElementById("<%= gvClinics.ClientID %>");
var FindText = document.getElementById("<%= txtClinicKeywords.ClientID %>").value;
var oRows = gvClinics.rows;
var rawDataRows = new Array();
var cell;
var hdnCounterNext = document.getElementById("<%= hdnCounterNext.ClientID %>").value;
for (var i = hdnCounterNext; i < oRows.length; i++) {
var cell = gvClinics.rows[i].cells[3];
if (cell.innerHTML.indexOf(FindText) !== -1) {
alert("found at " + i);
document.getElementById("<%= hdnCounterNext.ClientID %>").value = i+1
return false;
}
}
}
最好的建议值得高度赞赏..
由于 斯里兰卡。
答案 0 :(得分:1)
尝试获取click的位置,然后使用ScrollTo选项将其移动到正确的位置。我认为jquery会帮助你。我认为有一些插件可以做到这一点:http://demos.flesler.com/jquery/scrollTo/。如果可以使用元素的位置,即使你也可以使用http://api.jquery.com/scrollTop/。
答案 1 :(得分:1)
使用scrollIntoView方法
function NextClinic() {
var gvClinics = document.getElementById("<%= gvClinics.ClientID %>");
var FindText = document.getElementById("<%= txtClinicKeywords.ClientID %>").value;
var oRows = gvClinics.rows;
var rawDataRows = new Array();
var cell;
var hdnCounterNext = document.getElementById("<%= hdnCounterNext.ClientID %>").value;
for (var i = hdnCounterNext; i < oRows.length; i++) {
var cell = gvClinics.rows[i].cells[3];
if (cell.innerHTML.indexOf(FindText) !== -1) {
alert("found at " + i);
cell.scrollIntoView();
document.getElementById("<%= hdnCounterNext.ClientID %>").value = i+1
return false;
}
}
}