【问题标题】:How to get value from dynamic control in gridview using javascript如何使用javascript从gridview中的动态控件中获取价值
【发布时间】:2015-02-13 09:58:01
【问题描述】:

我有一个动态网格视图包含一个文本框。当用户从文本框中失去焦点时,我想使用 javascript 获取值。因为我在文本框中使用 onblur() 事件。但我无法获得值。请在下面找到代码

 function validateintforDWOnblur(input) {
    var row = input.parentNode.parentNode;
    var rowindex = row.rowIndex;
    var totaldw = document.getElementById('<%=gdvaddmsrcrt.ClientID%>').rows[rowindex].cells[2].innerHTML;
    var totaldw1 = document.getElementById(totaldw.id).value;
    var dw = document.getElementById('<%=gdvaddmsrcrt.ClientID%>').rows[rowindex].cells[3].innerHTML;
    return true;
}

gridview 内的文本框

 <asp:TextBox ID="txtdiswei" runat="server" onblur="javascript:return validateintforDWOnblur(this)" Width="100px" Text='<%# Bind("DW") %>' Height="40" CssClass="form-control"></asp:TextBox>

请帮我解决这个问题。

【问题讨论】:

  • 为什么无法获取价值?是什么阻止了你?
  • validateintforDWOnblur 函数在哪里?
  • @ben 如果我在 totaldw 中这样做,从单元格获取文本框控件的 html。

标签: javascript c# jquery asp.net gridview


【解决方案1】:

我不确定这是否是你想要的,但你为什么不试试

var value = document.getElementById('<%=yourTextBox.ClientID%>').value;

所以对于您的表格,您可以从 eachRow 传递 ClietnId 属性并在 javascript 函数中使用它

function doSomething(idOfTheTextBox){
   var value = document.getElementById(idOfTheTextBox).value;
}

在html中

 onblur="doSomething('<%# this.ClientID %>')

如果您在服务器端构建您的行,您可以执行以下操作

TextBox txt = new TextBox();
txt.ID = "something1";
txt.Text = "text";
txt.Attributes.Add("onBlur","doSomething('" & txt.ClientID & "')");
CellOfTheGrid.Controls.Add(txt);

【讨论】:

  • 动态gridview中的给定文本框。所以当我添加新行时它的ID不断变化。我想使用该行中的所有值。所以我怎样才能从行中获取值.
猜你喜欢
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
相关资源
最近更新 更多