私はSpring MVCフレームワークを使用してプロジェクトに取り組んでおり、現在、 for each ループから生成された送信ボタンを無効にする方法を考え出すことに固執しています(スプリットレットで記述されています)。スクリプトレットが悪い習慣と見なされていることは知っていますが、私がトレーニングしている会社は気にしていないようです...
とにかく、ここに私のforループがあります:
<%for(Aj aj : ajList) {%>
Job Name: <%=jobDao.getById(aj.getJobId()).getTitle() %><br/>
Current Status: <%=statusDao.getById(aj.getStatusId()).getStatusName() %><br/>
<input id="notQualified[<%=aj.getStatusId()%>]" class="notQualified[<%=aj.getStatusId()%>]" name="notQualified[<%=aj.getJobId() %>]" value="Not Qualified" type="submit" />
<input id="qualified[<%=aj.getStatusId()%>]" class="qualified[<%=aj.getStatusId()%>]" name="qualified[<%=aj.getJobId() %>]" value="Make Qualified" type="submit" />
<input id="interview[<%=aj.getStatusId()%>]" class="interview[<%=aj.getStatusId()%>]" name="interview[<%=aj.getJobId() %>]" value="Interview" type="submit" />
<input id="hire[<%=aj.getStatusId()%>]" class="hire[<%=aj.getStatusId()%>]" name="hire[<%=aj.getJobId() %>]" value="Hire" type="submit" /><br/><br/>
<%}%>
これまでに書いたjqueryは次のとおりです。
$(function() {
$('.notQualified[<%=1%>]').attr('disabled', 'disabled');
$('.interview[<%=1%>]').attr('disabled', 'disabled');
$('.hire[<%=1%>]').attr('disabled', 'disabled');
$('.qualified[<%=2%>]').attr('disabled', 'disabled');
$('.interview[<%=2%>]').attr('disabled', 'disabled');
$('.notQualified[<%=3%>]').attr('disabled', 'disabled');
$('.qualified[<%=3%>]').attr('disabled', 'disabled');
$('.interview[<%=3%>]').attr('disabled', 'disabled');
$('.hire[<%=3%>]').attr('disabled', 'disabled');
$('.qualified[<%=4%>]').attr('disabled', 'disabled');
$('.hire[<%=4%>]').attr('disabled', 'disabled');
});
明確でない場合は、4 つの異なるステータスで作業しています。繰り返される「aj」(ユーザーと応募した仕事のステータスを結び付けるデータベース内のテーブル)が1番目のステータスに該当する場合は、「不適格」、「面接」、そして「雇う」ボタン。など、お役に立てれば幸いです。