Как вызвать метод, используя условие if else внутри тега JSF? - PullRequest
0 голосов
/ 19 сентября 2018

Я сохраняю дату в JSF DataTable.Для этого я использую текстовое поле и флажок.После того, как флажок установлен, исламский календарь появляется, а когда не отмечен григорианский календарь.Есть кнопка для добавления данных в datatable.В некоторых случаях пользователь также может изменить таблицу данных, после выбора данных из таблицы данных пользователь может обновить данные.Технически, я использую 2 метода, 1 для отображения григорианского календаря и 1 для исламского календаря, который обрабатывается переключением флажка.Я требую, чтобы при добавлении некоторых данных в таблицу данных, если пользователь установил флажок и выбрал исламский календарь, точно так же, когда пользователь изменяет те же данные, обновленная форма должна отображать флажок как отмеченный и отображать исламский календарь и наоборот.для григорианскогоВ настоящее время при изменении данных флажок по умолчанию снят, а дата - григорианский календарь.Он должен работать как выбранный пользователем при вставке данных в таблицу данных.Пожалуйста, используйте мой код ниже:

Метод григорианского календаря:

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

Метод переключения григорианского и исламского календаря:

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'
            }
        ));
 }
}

JSF:

<p:inputText value="#{collateral.coldate2}" id="colexpdate1"
                             onchange="changeEVENT();" styleClass="calenderType" 
                            disabled="#{collateral.disableCollateral}"  readonly="false" onfocus="toggleCalender(this,'colexpdate1','hij_colexpdate1')">
                            <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </p:inputText>
                        <p:selectBooleanCheckbox style="vertical-align:middle;" value="false" id="t_colexpdate1" disabled="#{collateral.disableCollateral}"  
                        onchange="toggleCalender(this,'colexpdate1','hij_colexpdate1')"  widgetVar="hij_colexpdate1"  />

В приведенном выше коде мне требуется if else (согласно моему подходу) в методе onfocus.Если у вас другой подход, пожалуйста, вернитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...