5

我是 jQuery 新手,我试图在触发模糊时找到文本框的行 ID,但到目前为止我无法让它工作。

我所需要的只是#employee_0form_data我的第一个文本框上触发模糊事件时。

$("input").blur(function () {

    $('input').each(function (index, value) {

        var form_data = $("#employee_" + index).find('input').serialize();
        $.ajax({
            url: "<?php echo site_url("HomeController / calculate_time_lap "); ?>",
            type: 'POST',
            data: form_data,
            success: function (result) {
                $('input').closest('tr').find('.TextBox3').val(result);
            }
        });
        return false;
    });

这是我的视图页面:

<tr id="employee_0"><input type ="textbox"></tr>
<tr id="employee_1"><input type ="textbox"></tr>
<tr id="employee_2"><input type ="textbox"></tr>
<tr id="employee_3"><input type ="textbox"></tr>
<tr id="employee_4"><input type ="textbox"></tr>
4

3 回答 3

1

在事件处理程序中,行 ID 可用作:

$(this).closest('tr').attr('id');

请注意,您的 HTML 是不合法的 - 您需要<td><tr>.

相反,如果您只是想查找(并序列化)同一行中的所有输入,那么您实际上根本不需要 ID,您可以从您所在的位置遍历 DOM:

$("input").blur(function () {
    var form_data = $(this).closest('tr').find('input').serialize();
    $.ajax(...);
});
于 2013-06-13T11:57:04.150 回答
0

只要使用.parent(),就可以得到tr,也可以得到tr的id。

$("input").blur(function(){
  alert($(this).parent().attr('id'));  
});
于 2013-06-13T11:59:01.083 回答
0

触发模糊时查找文本框的行 ID

$("input").blur(function() {
  var rowID = $(this).closest('tr').prop('id');
  // some more stuff
})
于 2013-06-13T11:56:56.730 回答