我正在使用select2构建地理搜索框。
用户应该能够输入城市,国家或小数坐标[lon,lat]。 通过ajax调用
在服务器上查询城市/国家/地区输入" ["是否可以阻止ajax调用?只有当lon,lat匹配下面的正则表达式时才会检测并创建搜索选项?
^[-+]?(180(\.0{1,15})?|((1[0-7]\d)|([1-9]?\d))(\.\d{1,15})?),[-+]?([1-8]?\d(\.\d{1,15})?|90(\.0{1,15})?)$
如果用户试图用"]"关闭[lon,lat]标签如果没有匹配正则表达式,它应该显示自定义消息
我当前没有坐标标记的代码是:
$('.select2-search').select2({
placeholder: 'Country, city or [lon,lat]',
multiple: true,
minimumInputLength: 2,
maximumSelectionSize: 4,
ajax: {
url: "/citiesCountries",
dataType: 'json',
quietMillis: 100,
data: function(term) {
return {
search: term
};
},
results: function(data) {
return { results: data}
}
}
});
提前致谢
答案 0 :(得分:0)
您应该使用传输,例如:
$('.select2-search').select2({
placeholder: 'Country, city or [lon,lat]',
multiple: true,
minimumInputLength: 2,
maximumSelectionSize: 4,
ajax: {
url: "/citiesCountries",
dataType: 'json',
quietMillis: 100,
data: function(term) {
return {
search: term
};
},
results: function(data) {
return { results: data}
},
transport: function(params){
params.beforeSend = function(request){
alert('your regex condition here');
};
return $.ajax(params);
}
}
});