0

複数の行を選択したいと思います。行は strut2 タグ s:iterator を介して表示されます。選択された「id」のリストを含む選択情報を取得するにはどうすればよいですか

<s:form action='Selection'>
<s:iterator value="transInfos"> 
  <input type='hidden' name=id value='<s:property value="id" />' />
  <s:checkbox name="selected"/>
  <s:property value="name" />
</s:iterator>
<s:submit value="Selection" />
</s:form>
4

2 に答える 2

0

この質問に自分で答えることができてうれしいです。答えは非常に簡単です。

<s:form action="..." >
 <s:iterator value="transInfos">
  <input type="checkbox" name="transIds" value='<s:property value="transID" />'/>
 </s:iterator>                          
 <s:submit value="Select"/>
</s:form>

チェックボックスの値は、アクションに渡したいものです。選択されたすべてのチェックボックスは、その値をリストとしてアクションに渡します。

于 2012-09-04T06:45:13.177 に答える
0

私には思われる1つのオプションは、フォームに隠しフィールドを作成することです

<s:form action="selection">
<input type='hidden' name="selectedId" value=""/>
</s:form>

チェックボックスにオンクリックイベントを追加できます。チェックボックスがオンになっている場合は、変数に値を追加して非表示フィールドに設定できます。新しい追加ごとに、最後の非表示フィールドのようにコンマ区切りの方法で新しい値として追加する必要がありますのようにする必要があります

<input type='hidden' name="selectedId" value="1,2,3,4"/>

フォームを送信した瞬間、フォームの値を解析し、区切り記号に基づいて分割できます","

他のオプションは、チェックボックスに同じ名前を付けることです。そのため、チェックボックスの値がコレクションとして送信される瞬間に送信されます。選択はすべてあなた次第であり、どちらに進むかを決定する必要があります。

于 2012-09-03T13:49:33.940 に答える