Thanks a lot, Stefan! But I tried the second 'alternative' but it didn't work. Here's the function:
function filterData() {
var searchString = document.getElementById('search-string').value.replace(/'/g, "\\'");
var filter = document.getElementById('filter').value.replace(/'/g, "\\'");
layer.setOptions({
query: {
select: "'geometry'",
from: '4756019'
where: "'" + filter + "' = '" + searchString + "'"
}
});
}
I put your code on jsFiddle (with my correction): http://jsfiddle.net/odi86/6jvG4/
You forgot to add the from
clause to your filter, if you add it it works just fine:
if (filter === "UEU") {
layer.setOptions({
query: {
select: "'geometry'",
from: '4756019',
where: "'UEU' = '" + searchString + "'"
}
});
}
else if (filter === "SUBUEU") {
layer.setOptions({
query: {
select: "'geometry'",
from: '4756019',
where: "'SUBUEU' = '" + searchString + "'"
}
});
}
else if (filter === "CODIGO") {
layer.setOptions({
query: {
select: "'geometry'",
from: '4756019',
where: "'CODIGO' = '" + searchString + "'"
}
});
}
By the way: you can simplify your code a lot by just doing this (not if-else necessary):
layer.setOptions({
query: {
select: "'geometry'",
from: '4756019',
where: "'" + filter + "' = '" + searchString + "'"
}
});