在我的Xpages表單中,我有兩個字段,用戶將從@DBLookup中選擇值。它們是類別和子類別。Xpages Dependent Dojo Filtering選擇字段不工作
我使用組合框工作,但後來我發現了Dojo Filtering Select!這是一個非常棒的控件,對於我需要做的事情來說非常完美,因爲用戶想要在獲取所需值時使用類型提前和正確選項卡。
這些字段正常工作除了我無法獲得第二個字段填充。它取決於第一個字段的值。
我的代碼如下:
<xp:td>
<xp:label id="label3" value="Work Category" style="font-weight:bold"></xp:label>
</xp:td>
<xp:td>
<xe:djFilteringSelect id="djFilteringSelect2"
rendered="true" value="#{document1.workCategory}">
<xe:this.defaultValue><![CDATA[""]]></xe:this.defaultValue>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
@DbColumn(db, "workCategoryView", 1)
}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="onChange" submit="true"
refreshMode="complete">
</xp:eventHandler>
<xp:eventHandler event="onBlur" submit="true" refreshMode="complete"></xp:eventHandler>
<xp:eventHandler event="onFocus" submit="true"
refreshMode="complete">
</xp:eventHandler></xe:djFilteringSelect></xp:td>
<xp:td>
<xp:message id="message3" for="workCategory"></xp:message>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Work Sub Category"
id="workSubCategory_Label1" for="workSubCategory1" style="font-weight:bold">
</xp:label>
</xp:td>
<xp:td>
<xe:djFilteringSelect id="djFilteringSelect3"
rendered="true" value="#{document1.workSubCategory}">
<xe:this.defaultValue><![CDATA[""]]></xe:this.defaultValue>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db:NotesDatabase = session.getCurrentDatabase();
var key:String = document1.getItemValueString("djFilteringSelect2");
@DbLookup(db,"(DBLookupWorkSubCategoryView)",key,2,"[FAILSILENT]");
}]]></xp:this.value>
</xp:selectItems>
</xe:djFilteringSelect></xp:td>
<td></td>
</xp:tr>
<xp:tr>
<xp:td>
即使我做的Lausten先生建議的修正它仍然無法正常工作。我的意思是,第二個djFilteringSelect從來沒有任何可能的值。第二個字段取決於用戶在第一個字段中選擇的值。我無法確定變化事件是否觸發。 –
與Chrome,你可以看到,如果AJAX請求發佈到服務器,當你在第一個字段中選擇一個值...或在onChange事件打印 –