我遇到了datalist的问题。 我输入了:
<input id="adres-lokalizacja" class="input-lg" placeholder="wpisz lokalizację" type="text" list="adres-lista-lokalizacji" />
<datalist id="adres-lista-lokalizacji" name='TypeList'></datalist>
当我写一些字符(如果长度> 3)时,我通过JSON字符串发送到webservices并获取JSON.object。接下来,我按选项附加datalist并添加一些data-var dinamiclly:
$('#adres-lokalizacja').on("input",function(){
if(this.value.length > 3 ){
var data = {
'q': 'Polska '+jQuery(this).val(),
'polygon_geojson' : 1,
'format': 'json',
//'lat' : jQuery(this).data("lat"),
//'lon' : jQuery(this).data("lon")
};
jQuery.ajax({
type: 'GET',
url: 'http://nominatim.openstreetmap.org/search.php',
data: data,
error: function(data){
console.log(data);
},
success: function(data){
var li = jQuery('#adres-lista-lokalizacji').empty();
jQuery(data).each(function(index, item) {
li.append(
opt = jQuery(document.createElement('option')),
opt.attr({
'id': index,
'value': item.display_name,
'data-lat': item.lat,
'data-lon': item.lon,
//'onClick': someFunction() ///not working
}).text(item.display_name +' '+translate_item(item.class) ),
);
});
}
});
}
});
如何将onClick事件添加到此代码中? 我希望有这样的动态代码:
<option id="0" value="some value 1" data-lat="xxx" data-lon="yyy" onClick="somefunction(value1)">some value 1</option>
<option id="1" value="some value 2" data-lat="xxxx" data-lon="yyyy" onClick="somefunction(value2)">some value 2</option>
etc.
当我从datalist中选择任何选项并单击它们,然后运行“某些功能()&#39;正在加载。
我该怎么做?
此外,我想停止通过AJAX发送查询:
if(this.value.length > 3 && !(some var or function to) ){
加载函数somefunction()。
你能帮帮我吗?