You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击<option>时获取表格同行<td>中Hostname值的技术实现问题

解决方案

你可以通过DOM遍历找到当前<select>所在的表格行,再从中提取对应的Hostname,具体修改如下:

修改后的JavaScript代码

$(function (e) {
  $(".form-select").change(function (event) {
    // 获取选中的option值
    const vulnValue = this.value;
    // 找到当前select所在的表格行
    const $row = $(this).closest('tr');
    // 从行中提取Hostname(对应Rechnernummer类的td里的a标签文本)
    const hostname = $row.find('.Rechnernummer a').text().trim();

    // 这里就可以拿着vulnValue和hostname发请求给Django后端了
    console.log('选中的漏洞ID:', vulnValue);
    console.log('对应主机名:', hostname);

    // 保留你原来的取消选中逻辑
    for(var i = 0; i < this.options.length; i++){
      this.options[i].selected = false;
    }
  });
});

关键逻辑说明

  • $(this).closest('tr'):从当前触发事件的<select>元素出发,向上查找最近的<tr>(也就是它所在的表格行),这是定位目标行最可靠的方式,只要行结构不变,不管DOM层级怎么调整都能生效。
  • $row.find('.Rechnernummer a').text().trim():在找到的行里,定位到class为Rechnernummer的单元格,再获取里面<a>标签的文本内容,trim()用来去除可能存在的多余空格。

拿到vulnValue和hostname之后,你可以用$.ajax()或者fetch()向Django后端发送请求,示例如下:

// 示例:用jQuery发送POST请求(需确保页面已包含Django的CSRF令牌)
$.ajax({
  url: '/your-django-api-path/', // 替换为你的后端接口地址
  method: 'POST',
  data: {
    'vulnerability_id': vulnValue,
    'hostname': hostname,
    'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val()
  },
  success: function(response) {
    console.log('请求成功:', response);
  },
  error: function(xhr) {
    console.error('请求失败:', xhr);
  }
});

内容的提问来源于stack exchange,提问作者jonat-han

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 18:40:33