如何在JSF标签内使用if else条件调用方法?

时间:2018-09-19 13:25:59

标签: java jquery jsf primefaces

我将日期存储在jsf数据表中。为此,我使用了一个文本框和一个复选框。选中复选框后,将弹出伊斯兰日历,而当未选中的格里高利历时会弹出。有一个按钮可将数据添加到数据表中。在某些情况下,用户还可以修改数据表,从数据表中选择数据后,用户可以更新数据。 从技术上讲,我使用2种方法,一种是弹出公历日历,另一种是伊斯兰日历,这是通过切换复选框来处理的。我要求如果在向数据表中添加一些数据的情况下,如果用户已经选中了该框并选择了回教日历,那么当用户修改相同数据时,更新方式必须显示已选中的复选框,并显示回教日历,反之亦然对于公历。当前,在修改数据时,默认情况下未选中此复选框,日期为公历。在数据表中插入数据时,必须按用户选择的方式进行工作。请在下面引用我的代码:

公历的方法:

         
    
    <div id="pageContainer">
      <div class="pageDisplayed" id="page1">
        <p>blah blah</p>
      </div>
      <div class="pageHidden" id="page2">
        <p>blah blah on a second page</p>
      </div>
      <div class="pageHidden" id="page3">
        <p>blah blah on a third page</p>
      </div>
    </div>     
         
         
         <h2 id="main">pages : 
              <a href="#"  onclick="showPages('1');this.style.color='red';">1</a>
              <a href="#" onclick="showPages('2');this.style.color='red';">2</a>
              <a href="#" onclick="showPages('3');this.style.color='red';">3</a>
          </h2>

            
           

切换阳历和伊斯兰历法的方法:

function setGregorianCal(){
var classtype = '.calenderType'; 
$(classtype).calendarsPicker($.extend({
     localNumbers: true,
     dateFormat:'dd/mm/yyyy'
    }
    ));
   }

JSF:

function toggleCalender(obj,target,widgetVar){
var objId = obj.id;
var checkVal= PrimeFaces.widgets[widgetVar].input.is(':checked'); 
var lastIndex = objId.lastIndexOf(":");
var initialId = objId.slice(0, lastIndex);
var targetId= '#'+initialId+':'+target;
var finalID = targetId.replace(/:/g, '\\:');

 if(checkVal){
     $(finalID).calendarsPicker('destroy');
        $(finalID).calendarsPicker($.extend({
            calendar: $.calendars.instance('UmmAlQura'),
             localNumbers: true,
             dateFormat:'dd/mm/yyyy'
            },
            $.calendarsPicker.regionalOptions['ar']
            ));
 }else{
     $(finalID).calendarsPicker('destroy');
        $(finalID).calendarsPicker($.extend({
             localNumbers: true,
             dateFormat:'dd/mm/yyyy'
            }
        ));
 }
}

在上面的代码中,我需要onfocus方法中是否有其他方法(按照我的方法)。如果您使用其他方法,请还原。

0 个答案:

没有答案