0

フィールドの 1 つとして選択リスト (ドロップダウン) を持つ水平テーブルを使用しています。[送信] をクリックすると、その列のテーブル ヘッダー値とドロップダウンの値を取得する必要があります。

私のテーブル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に非常に不慣れです。さらに詳しい情報が必要な場合はお知らせください。必要に応じて詳細をお知らせします。

4

2 に答える 2

0

セル インデックスのハンドルを取得できる場合は、.text() ではなく .val() を使用してその値を取得できます。

于 2015-04-20T17:44:38.653 に答える
0

アプローチの 1 つは、関連する ID をヘッダーと選択タグに提供することです。たとえば、「select-1」、「select-2」などの ID をドロップダウンに提供できます。同様に、「thead-1」、「thead-2」などのヘッダー タグに ID を提供する必要があります。クリック イベントの送信時に、どのドロップダウン値が変更されたか (value!="") を確認してから、そのドロップダウン ID の最後の桁。これで、その数字を使用して、尊重されるヘッダーの値を取得できます。

于 2015-04-20T17:35:05.183 に答える