Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Openlayers中组合两个OCG过滤器_Javascript_Filter_Openlayers - Fatal编程技术网

Javascript 在Openlayers中组合两个OCG过滤器

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,

我需要组合两个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

尝试删除第二个过滤器后的逗号(,),它不应该在那里

如果这没有帮助,我会尝试单独创建过滤器,并将它们添加到“或”-过滤器:


我试过你的建议,但是,equalToFilter很好用。但是我得到的likeFilter错误是:error:integer的输入语法无效:“testname”我不明白为什么它应该是integer!!如果我一个人尝试像过滤器一样,效果很好!如果尝试手动指定每个筛选器的“值”属性值,您的筛选器是否工作?否,它始终显示第一个筛选器的值。
orFilter.filters.push(equalToFilter);
orFilter.filters.push(likeFilter);