2011-10-03 5 views
4

JSPのExpression Language(EL)からJavaScript関数にどのように値を取得しますか?私は私のJSPページでJavaScript/jQuery関数でExpression Language(EL)を使用するには?

<li>${state}</li> 
<input title="Show ${state}">Show</> 

そして私は、JavaScriptの関数にJSPから${state}を取得できるようにしたいと思います:

$('#input').click(function() { 
if ($(this).val() == "Show + ${state}">") 
{ 
    $(this).val("Show"); 
    $(this).attr("title", "Hide + ${state}"> "); 
} 
else 
{ 
    $(this).val("Hide"); 
    $(this).attr("title", "Hide + ${state}">"); 
} 
}); 

私はタイトルのためにしたいですそれぞれのボタンはオハイオまたはオハイオを表示すると言うが、<li>タグにはどのような状態であれ変更するように指示する。

答えて

1

JSPが.jsファイルの代わりに.jspファイルの中に<script>というファイルを入れて、JSPにEL変数をインライン化させる必要があります。

また、最初の単語の単純な文字列置換または最初の4文字の部分文字列を行うこともできます。こうすることで、JavaScriptではELは必要なくなり、JSコードを自分の.jsファイルに入れることができます。

ところで、あなたの全体の機能の論理的流れは、それ自体がほとんど意味がありません。 val()"Hide"であるかどうか実際に確認しませんか?あなたは実際に"Show"を2つの条件のいずれかのタイトルに使用したくないですか?

+0

私はそれのいくつかはちょうど 'のどの部分を見るためにOPのテストコードですよねif'が実際に実行されています。 – mellamokb

0

あなたの可能な値はShow ${State}Hide ${State}あることを行っているなら、あなたは本当に唯一の最初の4つの文字を気:

if ($(this).val().substring(0, 4) == "Show") 
{ 
    ... 
} 
... 
関連する問題