如何使用javascript函数在GridView中查找文本框,该函数在同一GridView RSS中的一个radcombobox的“Onclientsideselectedindexchanged”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用javascript函数在GridView中查找文本框,该函数在同一GridView RSS中的一个radcombobox的“Onclientsideselectedindexchanged”相关的知识,希望对你有一定的参考价值。
我在GridView的ItemTemplate中有两个控件TextBox和一个radcombobox
。我想要做的是当onclientsideselectedindexchanges
的事件radcombobox
被解雇时。我想用javascript在客户端显示/隐藏TextBox。
这样做的基本目的是避免回发以显示将DataBound作为数据库的TextBox。
如果无法在客户端进行,请在服务器端建议一些替代方案。
在我的例子中,我有一个带有模板字段的GridView,它包含一个DropDown菜单和一个TextBox。 JavaScript中的OnLoad
事件将TextBox的显示样式设置为"none"
。在GridView的OnChange
事件中设置DropDown的OnRowDataBound
事件,并调用JavaScript函数,在其中将TextBox显示样式设置为您需要的样式。
在我的示例中,仅当DropDown选择的索引是"1"
时才显示TextBox。
我在我的代码中完成了所有这些 - 参考这个:Gridview ID="GridView1"
:
<Columns>
<asp:TemplateField HeaderText="Order Status">
<ItemTemplate>
<asp:DropDownList ID="ddlOrderStatus" runat="server" Width="104px" ToolTip="Select order status">
</asp:DropDownList><br />
<asp:TextBox ID="txtShipTrackNo" runat="server"
Width="100px" Text='<%# Eval("sct_order_docket_id") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<script type="text/javascript">
var TargetBaseControl = null;
window.onload = function() {
try {
//get target base control.
TargetBaseControl = document.getElementById('<%= this.GridView1.ClientID %>');
for (var rowId = 1; rowId < TargetBaseControl.rows.length; ++rowId) {
var txtShip = TargetBaseControl.rows[rowId].cells[0].getElementsByTagName("input")[0];
txtShip.style.display = "none";
}
}
catch (err) {
TargetBaseControl = null;
}
}
function selectCheck(rowid)
{
TargetBaseControl = document.getElementById('<%= this.GridView1.ClientID %>');
var ddlStatus = TargetBaseControl.rows[rowid].cells[0].getElementsByTagName("select")[0];
var txtShip = TargetBaseControl.rows[rowid].cells[0].getElementsByTagName("input")[0];
txtShip.style.display = "none";
if (ddlStatus.selectedIndex == '1') {
txtShip.style.display = "block";
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddlStatus = (DropDownList)e.Row.FindControl("ddlOrderStatus");
string strFunc = string.Format("return selectCheck('{0}')", e.Row.RowIndex + 1);
ddlStatus.Attributes.Add("onchange", strFunc);
}
}
以上是关于如何使用javascript函数在GridView中查找文本框,该函数在同一GridView RSS中的一个radcombobox的“Onclientsideselectedindexchanged”的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript setInterval 函数不更新 <div> 元素中的 Gridview
如何使用javascript在asp.net中gridview内的按钮单击上应用文本框空白验证?
将 gridview 模板字段文本框 id 传递给 javascript 函数
如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?