jsp、javascript、htmlを使用してWebビューを作成しています。とりわけjavascript関数generatePictureSliderの呼び出しをクリックしたときに要素のリストがあります。アイデアは、一連の画像がリスト内の各要素に関連付けられ、要素の1つがクリックされるとスライダーが作成されるというものです。
これは私のリストを作成するコードです:
<div class="valg">
<ol id="selectable">
<c:forEach items="${kandidatliste}" var="kjoretoy" varStatus="rowCounter">
<li id="${rowCounter.index}" class="ui-widget-content">
<c:choose>
/*Some code that displays content based on a variable in the kjoretoy var */
</c:choose>
<c:out value="Reg nr: ${kjoretoy.kjennemerke} "/>
<c:out value="Score: ${kjoretoy.score} "/>
<c:out value="Passering: ${kjoretoy.passeringsString} "/>
<input id="removeVehicle" type="submit" value="X" />
<input id="checkVehicle" type="submit" value="Sjekk"/>
</li>
</c:forEach>
</ol>
</div>
#selectable olは、javascriptのクリック関数にバインドされています。このクリック関数は、generatePictureSliderを呼び出す関数です。そのため、リスト内の要素の1つをクリックすると、その要素に関連付けられている画像がスライダーに表示されます。
したがって、スライダーを動的に表示するhtmlを生成する必要があります。
私の問題は、このエラーが発生することです。java.lang.NumberFormatException: For input string: "+parseInt(index)+"
ここでのインデックスは、当然、クリックされた要素のインデックスです。これは、ビューがJavaアプリケーションから受け取った配列リスト内の要素の位置に対応します。この配列リストは、下の関数に表示されるように「kandidatliste」と呼ばれます。
function generatePictureSlider(index){
$('div#switcher-panel').html('');
var html = '<div id="container">'+
'<div id="banner">'+
'<ul class="bjqs">'+
'<li><img src="/nonstop/bildekjennemerke=${kandidatliste['+parseInt(index)+'].kjennemerke}&bildeNr=${0}" title="${kandidatliste[0].kjennemerke}_${0}" width="350" height="220"/></li>'+
'</ul></div></div>';
$('div#switcher-panel').append(html);
}
JSPがクラッシュせず、インデックスインデックスの要素に関連付けられた画像を表示するように、JavaScript変数インデックスを整数にするにはどうすればよいですか。
もちろん、私はそれを解決する方法について他の提案を受け入れています。本質は、ユーザーがクリックした要素に基づいて、その要素に関連付けられた画像やその他のデータをページに表示したいということです。