我正在使用带有选择列表(下拉列表)的水平表作为其中一个字段。当我单击提交时,我需要获取该列的表头值和下拉列表中的值。
我的表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]
用户点击提交后我期待的数据是:header2
和FIRST
我可以从下拉列表中获取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缺乏经验。如果您需要更多信息,请告诉我,如果需要,我可以提供更多详细信息。
答案 0 :(得分:0)
其中一种方法是为标题提供相关ID并选择标记。例如,您可以在下拉菜单中提供“select-1”,“select-2”等ID。同样,您必须为标题标记提供ID,例如“thead-1”,“thead-2”...,现在提交点击事件,检查哪个下拉值已更改(值!=“”)然后抓住该下拉ID的最后一位数字。现在,您可以使用该数字来获取受尊重标题的值。
答案 1 :(得分:0)
如果你能够获得单元格索引的句柄,那么你可以使用.val()而不是.text()来获取它的值。