ホームページ > 記事 > ウェブフロントエンド > JavaScriptでEL式リストコレクションの値を走査する
今日遭遇した問題は、バックグラウンドから送信されるリストの値をjsで取得したいということです。元々、ページはELexpressionを使用して表示されており、すべて問題ありませんでしたが、ほとんどに従って値を取得しようとすると、コレクション内のURLを動的に取得してから、jsでqrcodeを呼び出してQRコードを生成する必要がありました。次の問題が発生しました
for(var i=0;i<${myTickets.size()};i++) { $('#qrcode'+i).qrcode({text: ${myTickets[i].url}}); }
ははは、デバッグ ツールを使用して、${myTickets.size()} がリストの長さを取得していることを確認しましたが、${myTickets[i].url}}値が得られませんでした!
それでは以下のように値を取得してみました
[javascript] view plain copy for(var i=0;i<${myTickets.size()};i++) { alert(${myTickets[0].url}) }
ふふふ、抜くとすごく痛いです。しかし、問題はここにあります。for ループ で EL 式 ${myTickets[i].url} を使用する場合、${myTickets[i].url} の i は値を取得できません。これは、EL 式がJS では 変数を使用できません。EL 式は全体です。具体的には、JS で foreach を使用して値を取り出して配列にプッシュし、ループ 配列を走査する これは完璧な解決策となります。
[javascript] view plain copy var array = new Array(); <c:forEach items="${myTickets}" var="t"> array.push(${t.ticketNo}); //js中可以使用此标签,将EL表达式中的值push到数组中 </c:forEach> for(var i=0;i<array.length;i++) { $('#qrcode'+i).qrcode({text: ctx+"/wxpay/"+array[i]}); }
上記は私がコンパイルしたものです。今後も皆様のお役に立つことを願っております。
関連記事:
3f1c4e4b6b16bbbd69b2ee476dc4f83a2cacc6d41bbb37262a98f745aa00fbf0 タグで el 式を使用する方法
以上がJavaScriptでEL式リストコレクションの値を走査するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。