我要在DataGrid中实现一个下拉列表改变另一个TextBox 的值,要求用javascript实现,因为不想页面刷新。下拉列表用的是html组件,TextBox是后台控件,现在不知道如何取得DataGrid中的TextBox。
如果不在DataGrid中,可以这样取:Document.getElementById("TextBox1").innerText
但是在DataGrid中的TextBox这样写法出错。有高人指点吗?
如果不在DataGrid中,可以这样取:Document.getElementById("TextBox1").innerText
但是在DataGrid中的TextBox这样写法出错。有高人指点吗?
e是System.Web.UI.WebControls.DataGridCommandEventArgs e.Item.cell[0] 获取当前行第一个单元格
e.Item.cell[0].Text 就是当前单元格的内容你试试e.Item.cell[0].TextBox1.Text;
{
document.getElementById(textid).value=obj.options(obj.selectedindex).value;
}
<asp:dropdownlist id="ddl" runat="server" onchange="ddl_onchange(this,textid);"></asp:dropdownlist>其中,textid是textbox的ClientID,这个你要在绑定的时候想办法得到
input=document.getelementbytagname("input")
foreach (textbox in input)
{
if(textbox.className="")
{
......
}
}
<asp:TemplateColumn HeaderImageUrl="hetonghao.gif" SortExpression="合同号" HeaderText="合同号">
<ItemTemplate>
<asp:Label id=Label8 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.合同号") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="hthao" runat="server" Width="60px" Text='<%# DataBinder.Eval(Container, "DataItem.合同号") %>'>
</asp:TextBox>
<SELECT id="ht" style="WIDTH: 70px; HEIGHT: 22px" onclick="SelHetong()">
<OPTION selected></OPTION>
</SELECT>
</EditItemTemplate>
</asp:TemplateColumn>
select组件我是在js中加载列表,现在不知道怎么写SelHetong()
看了网上一些介绍,试着这样:
<script>
function SelHetong()
{var txtgd = null;
var txtID='<%=DataGrid1.ClientID%>';
txtgd=document.getElementById(txtID);
txtgd.Items[txtgd.EditItemIndex].FindControl("hthao").Text="kkk";
}
</script>
提示Items为空或不是对象。
For I = 0 To Tb.Columns.Count - 1
Obj = e.Item.Cells(I).Controls(1)
Select Case Tb.Columns(I).ColumnName
Case "PART_NO"
If Status <> 0 Then '新增或修改模式
Obj.ReadOnly = False Js = "if(event.keyCode==13) "
Js += "{var desc=" + e.Item.Cells(I).Controls(1).ClientID + ".value;"
Js += "var nDialogWidth=700;var nDialogHeight=400;"
Js += "var nLeft=(window.screen.availWidth-nDialogWidth)/2;"
Js += "var nTop=(window.screen.availHeight-nDialogHeight)/2;"
Js += "var sFeatures='dialogLeft:'+nLeft+'px;dialogTop:'+nTop+'px;dialogHeight:'+nDialogHeight+'px;"
Js += "dialogWidth: '+nDialogWidth+'px;help:no;status:no';"
Js += "var bLogged=window.showModalDialog('Dialog_Item.aspx?type=0&desc='+escape(desc),window,sFeatures);"
Js += "if(bLogged != null) "
Js += "{" + e.Item.Cells(1).Controls(1).ClientID + ".value=bLogged[0];" 'UPC
Js += e.Item.Cells(I).Controls(1).ClientID + ".value=bLogged[2];" 'PART_NO
Js += e.Item.Cells(3).Controls(1).ClientID + ".value=bLogged[1];" 'BRAND
Js += e.Item.Cells(4).Controls(1).ClientID + ".value=bLogged[3];" 'DESCRIPTION
Js += e.Item.Cells(5).Controls(1).ClientID + ".value=bLogged[5];" '单位
Js += e.Item.Cells(6).Controls(1).ClientID + ".value=bLogged[8];" 'BATCH_NO
Js += e.Item.Cells(11).Controls(1).ClientID + ".value=bLogged[9];" 'COST
Js += e.Item.Cells(7).Controls(1).ClientID + ".focus();" + e.Item.Cells(7).Controls(1).ClientID + ".select()}}"
Obj.Attributes.Add("onkeydown", Js)
end if很多年前用vb.net写的
放在datagrid的绑定事件中
用<%=textbox1.ClientID %>eg:
<asp:Textbox id="txt1" runat="server"/>
<script>
alert(document.getElementById('<%=txt1.ClientID %>').value);
</script>
{
var check = tableCashList.getElementsByTagName("input")
var cashMoney = "";
for(var i=1;i<check.length;i++)
{
if(check[i].type=="checkbox")
{
if(check[i].checked==true)
{
bool = true; }
else
{
bool = false;
}
}
if(bool==true)
{
if(check[i].type.toLowerCase()=="text")
{
if (check[i].value!="0.0")
{
cashMoney += check[i].value+",";
}
}
}
}
cashMoney 就是所有textbox值
}