更新:代碼減少和我試圖做的這個Web應用程序的進一步描述。是否可以分配值取決於多行編輯框的值
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript: sessionScope.DishNameValue;
}]]></xp:this.value>
</xp:text>
<xp:br></xp:br>
<xp:br></xp:br>
 <xp:table style="width:636.0px">
<xp:tr>
<xp:td style="width:250.0px">
<xp:inputTextarea id="inputTextarea2">
<xp:this.value><![CDATA[#{javascript:
var selectedDishNameRestaurant = @DbLookup(@DbName(),"RestaurantDishNameView", (getComponent("computedField1").getValue()),3)
if(selectedDishNameRestaurant != null)
{
return selectedDishNameRestaurant;
}
else
{
return "nothing here"
}
}]]></xp:this.value>
<xp:this.multipleSeparator><![CDATA[#{javascript:"\n"}]]></xp:this.multipleSeparator>
<xp:this.rendered><![CDATA[#{javascript:if(getComponent("computedField1").getValue() != null)
{
return true;
}}]]></xp:this.rendered>
</xp:inputTextarea>
</xp:td>
<xp:td style="width:250.0px">
<xp:inputTextarea id="inputTextarea4">
<xp:this.value><![CDATA[#{javascript:var selectedDishNameRestaurant = @DbLookup(@DbName(),"RestaurantDishNameView", (getComponent("computedField1").getValue()),3)
var createdDishValue = @DbLookup(@DbName(),"CreatedDishView", selectedDishNameRestaurant,2);
var restaurantDishValue = @DbLookup(@DbName(),"RestaruantDishView", createdDishValue,1);
if(creatededDishValue !=null){
return "Yes";
}
else
{
return "No";
}
}]]></xp:this.value>
<xp:this.multipleSeparator><![CDATA[#{javascript:"\n"}]]></xp:this.multipleSeparator>
<xp:this.rendered><![CDATA[#{javascript:if(getComponent("computedField1").getValue() != null)
{
return true;
}}]]></xp:this.rendered>
</xp:inputTextarea>
</xp:td>
<xp:td style="width:250.0px">
<xp:inputTextarea id="inputTextarea6">
<xp:this.value><![CDATA[#{javascript:var selectedDishNameRestaurant = @DbLookup(@DbName(),"RestaurantDishNameView", (getComponent("computedField1").getValue()),3)
var createdDishValue = @DbLookup(@DbName(),"CreatedDishView", selectedDishNameRestaurant,2);
var restaurantDishValue = @DbLookup(@DbName(),"RestaruantDishView", createdDishValue,1);
var createdDate = @DbLookup(@DbName(),"RestaruantDishView", createdDishValue,2);
if(createdDishValue !=null){
return createdDate;
}
else
{
return "";
}
}]]></xp:this.value>
<xp:this.multipleSeparator><![CDATA[#{javascript:"\n"}]]></xp:this.multipleSeparator>
<xp:this.rendered><![CDATA[#{javascript:if(getComponent("computedField1").getValue() != null)
{
return true;
}}]]></xp:this.rendered>
</xp:inputTextarea>
</xp:td>
</xp:tr>
</xp:table>
在第一頁:
- 用戶將選擇用於在所述第二頁的顯示它的菜餚名稱或樣式(使用單選按鈕組和組合框)。 (這部分工作正常)
在第二頁:
將會有一個計算字段顯示所選擇的值(因爲我使用會話變量來存儲值這部分工作正常。 )
有一個多行編輯框,它將在單獨的行中顯示值取決於計算字段的值。例如,如果用戶選擇菜名,則它將顯示哪個餐廳有這個菜。在這部分,我使用@DbLookup來實現在這個階段,程序仍然正常工作)。
還有另一個多行編輯框。它的顯示值取決於第一個多行編輯框。例如,第一個多行編輯框可以顯示具有特定菜名的餐館列表(由用戶選擇)。第二個多行編輯框將顯示餐廳是否創建了該菜的值,如果餐廳創建了該菜,則返回「是」,否則返回「否」。
在這一部分,不管如何在第一線多編輯框中許多價值觀,我只能在第二多行編輯框獲得一個「是」或一個「否」。
有人會讓我知道如何使第二個多行編輯框顯示所有值嗎?謝謝。
我試圖用循環但不工作。
for (i = getComponent("inputTextarea2").getValue(); i < getComponent("inputTextarea2").length; i++)
請將您的代碼降至最低:http://stackoverflow.com/help/mcve這將幫助您獲得答案。 –
編輯整個內容:減少代碼並改進內容。對不便之處 – Learner
對於你看起來像你在做什麼,檢查重複。多行編輯設計更多用於輸入而不是顯示。您可以在第一次重複中設置值(您的第一個多列字段),將所選值傳遞給您,然後刷新第二次重複。有很多例子可以向你展示。 –