2017-04-25 8 views
0

'すべてチェックボックスをオンにする'チェックボックスをオンにすると、ajaxが機能しません。私は箱を一つずつ確認し、それは動作しますが、私は「すべてのチェックボックスをチェックする」チェックするとき、それは販売を更新しない場合はここで'すべてチェック'チェックボックスをオンにするとp:ajaxタグが呼び出されませんJSF

<p:selectCheckboxMenu id="departmantCheckBox" value="#{marketAnalysisReportController.selectedDepartmants}" filter="true" filterMatchMode="startsWith" panelStyle="width:250px"> 
      <p:ajax update="saleCheckBox" listener="#{marketAnalysisReportController.updateSales}"/> 
      <f:selectItems value="#{marketAnalysisReportController.departmants}" var="departmant" 
          itemValue="#{departmant}" 
          itemLabel="#{departmant.name}"/> 
     </p:selectCheckboxMenu> 

はupdateメソッド

public void updateSales(){ 
     sales=new ArrayList<Obje>(); 
     System.out.println("updatesales"); 
     for(Obje departmant: selectedDepartmants){ 
      System.out.println(departmant.name); 
      if(departmant.getName().equals("test1")){ 
       sales.add(new Obje(20,"salestest20")); 
       sales.add(new Obje(21,"salestest21")); 
       System.out.println("add"); 
      } 
      if(departmant.getName().equals("test2")){ 
       sales.add(new Obje(200,"salestest200")); 
       sales.add(new Obje(210,"salestest210")); 
      } 
      if(departmant.getName().equals("test3")){ 
       sales.add(new Obje(250,"salestest250")); 
       sales.add(new Obje(260,"salestest260")); 
      } 
      if(departmant==null || departmant.equals("")){ 
       sales=new ArrayList<Obje>(); 
      } 
     } 
    } 

です。必要に応じて詳細を共有することができます。

+1

明示的なイベントを提供していないため、デフォルトのイベントに戻ります。ドキュメントをチェックして、 'すべてチェック'の別の(デフォルト以外の)イベントがあるかどうかを確認しましたか? – Kukeltje

答えて

2

Kukeltjeはすでに「select all」アクションはタグで捕捉されているデフォルトのajaxイベントを発生させないと指摘しています。

< Pを:あなたはこのように別のAJAXタグを追加する必要があるので、あなたは、すべてが「toggleSelect」と呼ばれる選択したときに発射されるAJAXイベントAJAXイベント=「toggleSelect」...

+0

ありがとう......... – Kukeltje

関連する問題