3
フィルターの後に学生を並べ替えることを試みています。フィルタリングした後、下の画像に示すように、ボタンのクラスが変更され、テキストが変更されます。フィルターの後に最初に選択したクラスを表示します
私が欲しいのはを持つ学生が選択し、学生であるは、最初に拒否-学生学生が来ています!これどうやってするの..?
<tbody>
<tr>
<td><span><img></span><p>Rasmus1 Lerdorf</p><p><b>Hallticket</b> : S28J1</p></td>
<td style="line-height:45px">4</td>
<td style="line-height:45px">9</td>
<td style="line-height:45px">8</td>
<td style="line-height:45px">4.5</td>
<td><span id="stu28" class="btn btn-danger reject-student selection-class">Not Selected</span></td>
<td style="line-height:45px"><input class="overrideStudent" type="text" name="picomment[28]"></td>
</tr>
<tr>
<td><span><img></span><p>Bill Gates</p><p><b>Hallticket</b> : S29J1</p></td>
<td style="line-height:45px">9</td>
<td style="line-height:45px">10</td>
<td style="line-height:45px">8</td>
<td style="line-height:45px">6.1</td>
<td><span id="stu28" class="btn selection-class btn-success select-student">Selected</span></td>
<td style="line-height:45px"><input class="overrideStudent" type="text" name="picomment[29]"></td>
</tr>
</tbody>
これは、学生を選択するためのJavascriptコードです:
success: function (response) {
$(".selection-class").addClass('btn-danger reject-student');
$(".selection-class").removeClass('btn-success select-student');
$(".selection-class").text('Not Selected');
$.each(response['students'], function(k, student) {
$("#stu"+student.student_id).removeClass('btn-danger reject-student');
$("#stu"+student.student_id).addClass('btn-success select-student');
$("#stu"+student.student_id).text('Student Selected');
});
$("#success_message").show();
$("#success_message").html(response['message']);
サーバー側でこれを行う方が良いですか? – Armin
実際には、サーバー側からはフィルタがAjaxコールを介して応答していないので、学生はそのフィルタ条件を使用して選択します。@Armin – Abid
ユーザーに情報を表示する前に、側。たぶんあなたのデータベース(SQLクエリの "order by")、またはあなたのレスポンス配列(ソート配列)、または他の方法。クライアント側でこれを行うことは可能ですが、追加のクライアント側の調整を必要とせずに、サーバー側でリストを再利用できる方が良いと思います。しかし、私は間違っているかもしれません... @Abid – Armin