Jquery - 从按钮单击事件中获取具有特定值字段的行的表头值

时间:2015-04-20 17:25:36

标签: javascript jquery html html-table tableheader

我正在使用带有选择列表(下拉列表)的水平表作为其中一个字段。当我单击提交时,我需要获取该列的表头值和下拉列表中的值。

我的表class = "views-table"基本上是这样的:

header1 | header2 | header3 | header 4
--------------------------------------
select    select    select   select
data1     data2     data3    data4 

[submit button]

我的下拉列表class="request-select"元素包含以下值:

select list:
  -empty
  -FIRST
  -SECOND

因此,在用户选择第一个值后,该表应如下所示:

header1 | header2 | header3 | header 4
--------------------------------------
select    FIRST    select   select
data1     data2     data3    data4 

[submit button]

用户点击提交后我期待的数据是:header2FIRST

我可以从下拉列表中获取change事件中的表头值:

jQuery('table.views-table').on('change', 'td', function(e) {  
    var tableHead= e.delegateTarget.tHead.rows[0].cells[this.cellIndex];
    alert([jQuery(tableHead).text()]);  
    // returns `header2` from dropdown with `FIRST` value selected
});

但我无法弄清楚如何向下钻取并从提交按钮访问此数据。我不想使用隐藏元素或使用localstorage。关于如何处理这个问题的任何想法?我对jQuery缺乏经验。如果您需要更多信息,请告诉我,如果需要,我可以提供更多详细信息。

2 个答案:

答案 0 :(得分:0)

其中一种方法是为标题提供相关ID并选择标记。例如,您可以在下拉菜单中提供“select-1”,“select-2”等ID。同样,您必须为标题标记提供ID,例如“thead-1”,“thead-2”...,现在提交点击事件,检查哪个下拉值已更改(值!=“”)然后抓住该下拉ID的最后一位数字。现在,您可以使用该数字来获取受尊重标题的值。

答案 1 :(得分:0)

如果你能够获得单元格索引的句柄,那么你可以使用.val()而不是.text()来获取它的值。