Javascript jQuery-同一行中的目标表单元格

Javascript jQuery-同一行中的目标表单元格,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个带有单个输入字段的表和一个AJAX脚本,该脚本在修改输入字段值时运行。这一切都很好。我现在需要扩展它,将日期插入同一行中的另一个单元格中,但现在确定如何将其作为ID的目标必须是动态的。以下是当前表格: 订单号 订购日期 犯罪记录 123456 987654 检查下面的代码。我删除了ajax调用,并用success块替换它,但概念仍然是一样的。它获取同一行上id以“OrderDate”结尾的单元格,并为该单元格设置html。我已经为此使用了jQuery $(文档).ready(函数(

我有一个带有单个输入字段的表和一个AJAX脚本,该脚本在修改输入字段值时运行。这一切都很好。我现在需要扩展它,将日期插入同一行中的另一个单元格中,但现在确定如何将其作为ID的目标必须是动态的。以下是当前表格:


订单号
订购日期
犯罪记录
123456
987654

检查下面的代码。我删除了ajax调用,并用success块替换它,但概念仍然是一样的。它获取同一行上id以“OrderDate”结尾的单元格,并为该单元格设置html。我已经为此使用了jQuery

$(文档).ready(函数(){
$(“输入[type='text']”)。更改(函数(){
var recid=$(this).closest('td').attr('id');
var constant=$(this.val();
var$this=$(this);
$this.parents('tr:first').find(“td[id$='OrderDate']”)html(new Date());
$this.closest('td').addClass(“has success”)
$this.closest('td').removeClass(“has error”);
});
});
。成功了{
边框:1px纯绿色;
}

订单号
订购日期
犯罪记录
123456
987654

您可以通过
$this.closest('tr').children('td[id$=“OrderDate”]”)选择单元格。

您可以通过以下方式将其简化:

  • 不使用选择器(
    [id$=”.“]
    ),如果可以的话,可以将CSS类“OrderDate”添加到所有订单日期单元格中,并将选择器简化为
    $this.closest('tr')。children('.OrderData')
  • 而不是使用。这是一个微观优化。唯一的区别是,
    最近的
    测试实际元素本身是否与选择器匹配,在这种情况下,您知道只需要检查父元素
  • 您还可以选择性地依赖这样一个事实,即单元格是同级的,而不是像
    $this.parents('td').sides('OrderDate')那样使用

您可以获取父元素“tr”,然后找到“td.OrderDate”,我建议您使用一个类在其父元素的上下文中标识td

$(函数(){
$(“输入[type='text']”)。更改(函数(){
var parent=$(this.parents('tr');
//获取tr中的任何元素
$('td.OrderDate',parent).text('[当前日期]'))
})
});

987654

您的javascript现在是什么样子?@H77刚刚更新为包含当前javascript