a的
<ace:dataTable id="info" value="#{mybean.data}" var="item" >
<ace:column id="customerID" headerText="ID" filterBy="#{item.customerID}" filterMatchMode="contains">
<ice:outputText styleClass="center" value="#{item.customerID}"/>
</ace:column>
...
</ace:dataTable>
我有一个javascript函数,它为过滤写一个值,但它不会触发过滤功能,也就是说,仅显示与过滤值匹配的行。仅当我在框中写一些内容时,它才起作用,在那里我注意到icefaces与服务器进行了ajax通信。我猜想这是由上的onchange事件触发的,所以我尝试在javascript函数中生成它。
function triggerFiltering(customerID) {
document.getElementById('form:info:customerID_filter').value = customerID;
if ("createEvent" in document) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
document.getElementById('form:info:customerID_filter').dispatchEvent(evt);
}
else
document.getElementById('form:info:customerID_filter').fireEvent("onchange");
}
我可以看到它生成了一个ajax通信,但该表仍未过滤其行。如何通过javascript过滤