2017-12-29 8 views
0

この問題の解決策を考えています。HTMLテーブル内の要素を検索した後にXとYの位置を取得します。

私はこのtableとこのようなJSON持っている:私はテーブルの上に(この場合は「E-123」である)人のIDを検索し、上で検索する必要が

{:id=>"e-123", 
:subject_initials=>"IN", 
:grade=>"12"} 

を被験者の頭文字を最初に並べて、XとYの位置にグレードを入れてください。

上記の例の結果は、this

これを行うにはどのように任意のアイデアのようなものでなければなりませんか?

+0

あなたの質問は不明です。だから詳細を教えてください。あなたは 'とXとYの位置にグレードを入れてどういう意味ですか? ' –

+0

私が入れた2番目のリンクは最終目標です。人のIDが一致する行を取得した後、件名のイニシャルの列を検索する必要があり、その行にグレードを入れて、2つのリンクには、最初の行と2番目の列を見て、最初の例では "*"があり、2番目の例ではjson "12"の "grade"値のために変更されています@AlivetoDie –

答えて

0

行インデックスは、その後、あなたはいくつかの追加の追加

var $subjectInput = $('tr').first().find('input').filter(function() { 
    return this.value === data.subject_initials 
}); 

var $idInput = $('tr').find('td:eq(1) input').filter(function() { 
    return this.value.toLowerCase() === data.id 
}); 

var colIdx = $subjectInput.parent('td').index(); 
var rowIdx = $idInput.closest('tr').index(); 

$('tr').eq(rowIdx).find('td').eq(colIdx).find('input').val(data.grade) 

を更新する必要がある1つを分離するeq()メソッドを使用取得するには、列のインデックスを取得し、ユーザIDの入力を検索する見出しの入力を検索する必要があります入力のこれら2種類のクラスが行がデータ入力入力に行やコース名クラスにIDを追加し、動的に生成されている場合は、Wholおよびを簡素化することができ、それらを簡単に


を見つけるためのセレクタを作る役立つだろうEの事は非常に

<tr id="e-123"> 
    ..... 
     <input class="form-control course_IN"> 

JS

$('#' + data.id).find('input.course_' + data.subject_initials).val(data.grade) 

DEMO

+0

これはそれです!ありがとう、チャーリー、あなたは私の人生を救った私はこのhahahaについて夢中になっていた、あなたは最高だ! –

関連する問題