这是我的HTML。
<!doctype html>
<html lang= "en">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var data = {{job_names}};
$("#job_names").autocomplete({source : data}); //also tried .autocomplete(source :data)
});
</script>
</head>
<body>
<h2> Maverick Job Documentation Tool </h2>
Search : <input id="job_names" type= "text">
</body>
现在{{job_names}}是我通过flask / render_template传递的作业列表。我很确定我正在正确地传递列表,因为我看到当我查看源代码时,我可以看到我想要自动完成的东西列表。但是,报价看起来是逃避或奇怪的
['/path/to/job/a', '/path/to/job/b' etc...
任何人都可以看到我用这个或者jquery做出的明显错误吗?
答案 0 :(得分:0)
您的报价已被编码。你可以这样解码它:
var decoded = $('<div/>').html(data).text();
或者你可以确保它不是以
开头的url / html编码答案 1 :(得分:0)
此代码有效。
1。)确保将有效数组传递给数据
2.)将json对象传递给自动填充方法
<!doctype html>
<html lang= "en">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var data = ["'/path/to/job/a'", "'/path/to/job/b'"];
$("#job_names").autocomplete({source : data});
});
</script>
</head>
<body>
<h2> Maverick Job Documentation Tool </h2>
Search : <input id="job_names" type= "text">
</body>