0

在我的 asp.net 表单中,在表格行中添加单元格,并在这些单元格中添加具有如下属性的文本框 -

string residentId = (new GUID()).ToString();
string houseId  = (new GUID()).ToString();

HtmlTableRow detailRow = new HtmlTableRow();
detailRow.Attributes.Add("residentId", residentId);
detailRow.Attributes.Add("houseId", houseId);

HtmlTableCell dataCell = new HtmlTableCell();

TextBox tb = new TextBox();
tb.Attributes.Add("componentname", "tbMoveInDate");

tb.Attributes.Add("onchange", "updateMoveInDate()";

cell.Controls.Add(tb);
detailRow.Cells.Add(dataCell);

可能有 100 多行,当然所有行都有不同的 ID。

在我的javascript中我有这个功能 -

function updateMoveInDate() {
    var MoveInDateEle = $("[componentname*='tbMoveInDate']");
}

此时 MoveInDateEle 是表格中所有这些文本框的集合,并且

var currentRow = $("[componentname*='tbMoveInDate']").parent().parent();

给了我所有的行。但不是我的特定行。

如何获得我正在使用的特定文本框以及与该控件关联的特定居民 ID 和房屋 ID?

4

3 回答 3

2

像这样修改C#代码:

tb.Attributes.Add("onchange", "updateMoveInDate(this)";

和js函数如:

// obj here refers to the current textbox in the scope
// on which the on-change event had occurred...
function updateMoveInDate(obj) {
    var currentRow = $(obj).closest('tr');
}
于 2013-06-28T12:35:55.643 回答
1

你可以做

tb.Attributes.Add("onchange", "updateMoveInDate(this)";

function updateMoveInDate(txt) {
    var $txt = $(txt);
    var $row = $txt.closest('tr');
    var residentId = $row.attr('residentId');
    var houseId = $row.attr('houseId');
}
于 2013-06-28T12:36:03.987 回答
0

尝试这个

tb.Attributes.Add("onchange", "updateMoveInDate(this)";

在后面的代码中

    string residentId = (new GUID()).ToString();
    string houseId  = (new GUID()).ToString();

    HtmlTableRow detailRow = new HtmlTableRow();
    detailRow.Attributes.Add("residentId", residentId);
    detailRow.Attributes.Add("houseId", houseId);

    HtmlTableCell dataCell = new HtmlTableCell();

    TextBox tb = new TextBox();
    tb.Attributes.Add("componentname", "tbMoveInDate");

    tb.Attributes.Add("onchange", "updateMoveInDate(this)";

    cell.Controls.Add(tb);
    detailRow.Cells.Add(dataCell);

jQuery:

function updateMoveInDate(args) {
    var MoveInDateEle = $(args).closest('tr');

}
于 2013-06-28T12:39:05.010 回答