我有手工制作的自动填充ajax表单,这里是代码。带有id" city"的字段处理城市并建议以投入形式的价值开始的城市
$(document).ready(function () {
var input_field = $("#city");
$("#city").keypress(function () {
setTimeout(function() {
var city_name = input_field.val()
$.ajax({
type: "GET",
url: "<%=cities_autocomplete_path%>",
data: {city_start_with:city_name}
}).success(function (data) {
$("#city_results").empty();
if (data.length==0)
$("#city_results").hide();
else
{
$("#city_results").show()
for(var idx in data)
$("#city_results").append('<li onclick="alert(23123123);return false;" class="city_result" id="city_result_123"><span><a >test</a></span></li>');
}
});
},500);
})
});
问题是onclick事件在Chrome中不起作用,但在Firefox和Opera中工作正常:
$("#city_results").append('<li onclick="alert(23123123);return false;" class="city_result" id="city_result_123"><span><a >test</a></span></li>');
有人有同样的问题吗?
答案 0 :(得分:0)
这可能不是通过追加“注入”javascript的最佳方式。 在添加了li元素之后,您可以在之后绑定onclick-event。
答案 1 :(得分:0)
尝试引用alert()
中的文本 $("#city_results").append('<li onclick="alert('23123123');return false;" class="city_result" id="city_result_123"><span><a >test</a></span></li>');