Javascript 在Openlayers中组合两个OCG过滤器
我需要组合两个OCG过滤器。每一个都可以独立工作,但是如果我使用Filter.Logical.OR将它们组合在一起,第一个只能工作Javascript 在Openlayers中组合两个OCG过滤器,javascript,filter,openlayers,Javascript,Filter,Openlayers,我需要组合两个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,
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尝试删除第二个过滤器后的逗号(,),它不应该在那里
如果这没有帮助,我会尝试单独创建过滤器,并将它们添加到“或”-过滤器:
我试过你的建议,但是,equalToFilter很好用。但是我得到的likeFilter错误是:error:integer的输入语法无效:“testname”我不明白为什么它应该是integer!!如果我一个人尝试像过滤器一样,效果很好!如果尝试手动指定每个筛选器的“值”属性值,您的筛选器是否工作?否,它始终显示第一个筛选器的值。
orFilter.filters.push(equalToFilter);
orFilter.filters.push(likeFilter);