我需要结合两个OCG过滤器。每一个都可以分开工作,但如果我使用Filter.Logical.OR组合它们,那么第一个只能工作。
var c_filter = new OpenLayers.Filter.Logical({
type: OpenLayers.Filter.Logical.OR,
filters: [
new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.EQUAL_TO,
matchCase:false,
property: 'id',
value:(document.getElementById("Text")).value
}),
new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.LIKE,
matchCase:false,
property: 'name',
value: "*" +(document.getElementById("Text")).value + "*"
}),
]
});
我使用openlayers 2.11
答案 0 :(得分:1)
尝试在第二次过滤后删除逗号(,),它不应该在那里。
如果这没有用,我会尝试单独创建过滤器并将它们添加到“或”-filter:
orFilter.filters.push(equalToFilter);
orFilter.filters.push(likeFilter);