0
私はSpring MVCフレームワークを使用してプロジェクトを進めていますが、現在は各ループごとに生成された送信ボタンを無効にする方法を考えていますスプライトレット)。Jqueryと各ループ(スクリプトレットで書かれています)の使用
<%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のです:私のforループがあり、ここで、とにかく私は、スクリプトレットが悪い習慣と見なされていることを知っているが、私が研修だ会社は気にしていないようです...
私は今までに書いた:
$(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の状況に対応し、「非適格」、「インタビュー」、 「採用」ボタンをクリックします。その他私は助けていただければ幸いです。
実際の問題は何ですか?あなたは言及した4つの異なるステータスのための変数を持っていませんか?サーバ側のコード '<%=1%>'は定数が '1'として直接インクルードされても意味がありませんが、これらのステータス値をチェックしたい場所はおそらく無意味でしょうか?また、IDと同じ名前のクラスを割り当てるのはなぜですか? – nnnnnn
私はこれで少し遊んでいたので、ちょっと乱雑です。私はjqueryで実際の番号1を使用しようとしました(つまり、 '.notQualified [1]')が動作しませんでした。クラスと同じ名前のIDについては、jqueryのIDの使用からクラスの使用に切り替わったためで、「[<%= aj.getStatusId()%>]を削除するのを忘れていました。 "各イドの終わりから。私の問題は、ボタンのどれもが無効になっているということではありません。私はボタンの最初のセットを無効にするか、まったくなしにすることができます... –
これらの[]をエスケープするために\\を使用してみてください。 http://stackoverflow.com/a/9402472/297641をチェックしてください。これがまさに必要なものです。 –