1
我有一個selectBooleanCheckbox
(CB)和兩個inputText
s(IT1,IT2)全部有界。豆田。javascript-ajax-jsf - bean的交互
當選擇CB時,我希望IT1和IT2的值設置爲默認值並禁用,而當取消選擇CB時,必須啓用和清空IT1和IT2。
目前,我試着這樣說:
<script type="text/javascript">
//<![CDATA[
function myFunction()
{
if(document.getElementById("detailForm:CB").checked)
{
document.getElementById("detailForm:IT2").value = "";
document.getElementById("detailForm:IT1").value = "00:01";
}
}
//]]>
</script>
和
<h:selectBooleanCheckbox
id="CB"
value="#{detailModel.afterObject.defaultDefinition}"
onclick="myFunction()"
disabled="#{detailModel.mode == detailModel.viewMode or !loggedUser.isAdmin()}">
<f:ajax render="IT1 IT2 @this" execute="@this"/>
</h:selectBooleanCheckbox>
和
<h:inputText
id="IT1"
value="#{bean.IT1}"
disabled="#{detailModel.mode == detailModel.viewMode or bean.CB}" />
和
<rich:calendar
id="IT2"
value="#{(bean.CB== false) ? detailModel.IT2 : ''}"
datePattern="yyyy-MM-dd"
enableManualInput="true"
disabled="#{detailModel.mode == detailModel.viewMode or bean.CB}"/>
</rich:calendar>
所有這一切都可以,如果我創建一個新的對象/ bean。
問題是,當我想編輯現有的對象/豆:與f:ajax render="IT1 IT2 @this" execute="@this"
重新加載頁面和舊值覆蓋由JavaScript函數設置的值...
IT2的值不直接綁定到豆(value="#{(bean.CB== false) ? detailModel.IT2 : ''}"
)。這是因爲它必須在顯示之前進行修改。
我希望你能理解我對問題的描述,並可以幫助我解決問題。