具有Prototype和Django的Ajax自动完成功能

时间:2011-07-05 21:39:20

标签: python ajax django autocomplete prototypejs

我想集成Django和JavaScript原型库来为表单创建自动完成功能。任何人都可以推荐使用Django试过的原型功能吗?有this codealso this,我想知道是否有人会推荐一个用于Django。谢谢!

1 个答案:

答案 0 :(得分:1)

我从此site下载了代码 并遵循那里的指示,这是直截了当的。只需包含prototype.js,scriptaculous.js和AutoComplete.js文件。然后从方向复制粘贴,并将网址从assets/ac.php?m=text&s=更改为?m=text&s=,或者只更改?s=,如果您只需要一个查询参数。

    <input type="text" id="my_ac3" name="my_ac" size="45" autocomplete="off"/> 
    <script type="text/javascript"> 
    new AutoComplete('my_ac3', '?s=', { delay: 0.25, resultFormat: AutoComplete.Options.RESULT_FORMAT_TEXT }); 
    </script>

在服务器端,在该页面的视图功能中,使用以下命令启动该功能:

    if request.is_ajax():
        #match the users input here, perhaps using data from your database and/or regular expressions
        text = #response text to return, in my case since I chose Options.RESULT_FORMAT_TEXT as my resultFormat, it's a string where each autocomplete item is separated by '\n'
        return HttpResponse(text, mimetype='text/plain')  # mimetype is text here in my case

然后将视图函数的其余部分放在else子句下。