找到特定的行属性jQuery

时间:2013-06-28 12:32:34

标签: c# jquery

在我的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?

3 个答案:

答案 0 :(得分: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');
}

答案 1 :(得分: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');
}

答案 2 :(得分: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');

}