Я сохраняю дату в 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.Если у вас другой подход, пожалуйста, вернитесь.