1

私の問題は、ページの読み込み時にチェックボックスをオンにしたいことです。

以下に示すように、これらのチェックボックスは現在、ユーザーフォームの最後にあります。ここに画像の説明を入力

各チェックボックスは仕様オブジェクトに対応しています。モデルマップに、チェックした値を含む「仕様」リストと、すべての値を含む「すべての仕様」リストを追加します。

List<Specification> specification=hot*******.get********otel(createHotel); //this is for check value.

List<Specification> allspecification=city****vice.getspec***fication(); //for all specification

map.addAttribute("orgspecification", specification);
map.addAttribute("allToatalspecfication", allspecification);

対応する JSP ページは次のとおりです。

<div id="orgspecifications" style="margin-left:1px; height: 100px; width: 97%;">
  <c:forEach step="1" items="${allToatalspecfication}" var="specification">
    <div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
      <input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall"/>
      ${specification.name}
    </div>
  </c:forEach>
</div>

問題は、すべての「すべての仕様」リストを表示していますが、「仕様」リストの要素もチェックしたいということです。ページの読み込み時にこれをどのように達成できますか?

前もって感謝します。

4

2 に答える 2

0

これを行うことで、私は問題を解決します...

<div style="margin-top: 6px;">
                <div id="orgspecifications" style="margin-left:1px; height: 100px; width: 97%;">
<c:forEach step="1" items="${allToatalspecfication}"   var="specification">
                 <c:set value="${true}" var="unCheckFlag"></c:set>

                    <c:forEach  items="${orgspecification}" var="selectedspecification">

                                <c:if test="${specification.id eq selectedspecification.id}">
                                        <div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
                                            <input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall" checked="checked"/>
                                                ${specification.name}
                                        </div>
                                         <c:set value="${false}" var="unCheckFlag"></c:set>
                                </c:if>
                    </c:forEach>
                    <c:if test="${unCheckFlag == true}">

                                    <div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
                                            <input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall"/>
                                                ${specification.name}
                                    </div>
                   </c:if>      





</c:forEach>
</div>

返信ありがとうございます。

于 2012-08-27T07:36:18.117 に答える
0
$(function(){
  $.get('some/url',function(data){
    $('.selectall').each(function(){
      if ($.inArray(+$(this).val(),data) > -1){
        $(this).attr('checked',true);
      }
    });
  });
})

変数には、チェックされた仕様のタイプdataのIDが含まれていると仮定します。Number

サーバー側では、次のようなものが必要です。

@Controller
public class A {

  @RequestMapping('some/url')
  @ResponseBody
  public List<Integer> getIdsOfCheckedSpecs() {
    List<Integer> list = ...
    return list;
  }
}
于 2012-08-26T08:15:03.730 に答える