使用javascript在django中的动态下拉列表

时间:2013-07-17 09:06:39

标签: javascript c++ python html django

我正在尝试使用执行.exe程序的结果填充下拉列表。 .exe将返回由特殊字符分隔的项目串联。这将由views.py中的相应视图捕获,并呈现给.html。在这个.html中,有一些javascript代码在窗口加载时运行,使用特殊字符拆分渲染的字符串,并且(理论上)填充下拉列表。

我的部分代码如下:

c ++代码(将编译成.exe)

   while(i<MAX_ITEMS)    
        std::cout << i << "$" << item[i] << "&";

views.py(在url调用的视图内部)

os.chdir(r'C:/directory')
proc = subprocess.Popen([r'C:/directory/Application.exe'], stdout=subprocess.PIPE)
y = proc.stdout.read()
proc.wait()
return render_to_response('home.html', {'list': y})

最后,包含javascript函数的html文件

<html> 
    <head> 
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
        <title></title> 
        <script type="text/javascript" charset="utf-8"> 
            window.onload = function Func() {               
                var lists = document.getElementById('list'); 
                var liststxt = new Array();
                liststxt[1] = "{{ list }}";
                var items = liststxt[1].split("&"); 
                for (var count = lists.options.length-1; count >-1; count--){ 
                    lists.options[count] = null; 
                } 
                for (i=0; items.length; i++){ 
                    var values = items[i].split("$"); 
                    var option = new Option(values[1], values[2], false, false);  
                    lists.options[lists.length] = option; 
                }                          
            } 
        </script> 
    </head> 
    <body>  
        <form action="" method="get" accept-charset="utf-8"> 
            <select name="list" id="list"> 
                <option>--</option> 
            </select>                 
        </form> 
    </body> 
</html>

我认为我已经尝试了几乎所有的中间可能性,并且它们工作得很完美(硬编码从exe中恢复它的字符串实例,直接在使用javascript处理它的html instate中呈现.exe的结果等) ,但如果我把所有东西放在一起,它就无法填充下拉列表......

我正在执行此代码以获得几个依赖的下拉列表,我按照here的概念证明进行操作。我没有使用Ajax(或Dajax,或Dajaxice),因为我尝试多次后无法正确安装它。

非常感谢!

0 个答案:

没有答案