データベース挿入後にjQueryを使用してテーブルに行を挿入しています。ページが読み込まれると、テーブルは特定のセルでアルファベット順に並べられます(以下を参照)。jQueryを使用して新しい行を挿入するときは、アルファベット順にも挿入できるようにしたいと思います。
たとえば、次のよう<tbody>
な要素を持つテーブルがあります。
<tbody>
<tr class="docRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
<td width="25px"><a class="docEditLink docAdminFormSubmit" name="38" href="#">Edit</a></td>
<td width="20px"><input type="checkbox" class="chkDeleteDocs" name="removeDocs[]" value="38" /></td>
<td>Document A</td>
<td>Description of Document A</td>
</tr>
<tr class="docClassesRow noClasses">
<td colspan="4">
<strong>No classes are currently associated with this document.</strong>
</td>
</tr>
</tbody>
<tbody>
<tr class="docRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
<td width="25px"><a class="docEditLink docAdminFormSubmit" name="35" href="#">Edit</a></td>
<td width="20px"><input type="checkbox" class="chkDeleteDocs" name="removeDocs[]" value="35" /></td>
<td>Document B</td>
<td>Description of Document B</td>
</tr>
<tr class="docClassesRow">
<td></td>
<td width="100px" align="right"><input type="checkbox" class="chkRemoveClasses" name="removeClasses[]" value="33-35" /></td>
<td width="200px">CLASS111</td>
<td width="600px">Description of CLASS101</td>
</tr>
<tr class="docClassesRow">
<td></td>
<td width="100px" align="right"><input type="checkbox" class="chkRemoveClasses" name="removeClasses[]" value="45-35" /></td>
<td width="200px">CLASS333</td>
<td width="600px">Description of CLASS333</td>
</tr>
</tbody>
<tbody>
<tr class="docRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
<td width="25px"><a class="docEditLink docAdminFormSubmit" name="46" href="#">Edit</a></td>
<td width="20px"><input type="checkbox" class="chkDeleteDocs" name="removeDocs[]" value="46" /></td>
<td>Document D</td>
<td>Description of Document D</td>
</tr>
<tr class="docClassesRow noClasses">
<td colspan="4">
<strong>No classes are currently associated with this document.</strong>
</td>
</tr>
</tbody>
現在、特定のドキュメントに新しいクラス行を挿入するときは関数<tbody>
を使用し、新しいドキュメントを挿入するときはを使用します。.append()
.after()
jQueryを使用して、クラス番号またはドキュメント名にアルファベット順にクラスまたはドキュメントを挿入できるようにしたい(挿入される内容に応じて)。
たとえば<tbody>
、ドキュメントCに新しいクラスを挿入したり、クラス番号CLASS222の新しいクラスをドキュメントBに追加したりできるようにします。
これどうやってするの?
更新: ドキュメントの1つに新しいクラスを挿入するために現在使用しているコードは次のとおりです。
newClassesRows += $('#docsTable a[name="' + docID + '"]').closest('tr').after('<tr class="docClassesRow">' +
'<td></td>' +
'<td width="100px" align="right"><input type="checkbox" class="chkRemoveClasses" name="removeClasses[]" value="' + classID + '-' + docID + '" /></td>' +
'<td width="200px">' + classNumber + '</td>' +
'<td width="600px">' + className + '</td>' +
'</tr>');
ご覧のとおり、正しいドキュメントはで見つかります$('#docsTable a[name="' + docID + '"]').closest('tr')
。したがって、選択した行の3番目のtd要素を調べ、テキストを確認して、変数classNumberが他のclassNumberとアルファベット順に一致する場所を特定する必要があります。