在Backbone视图中添加Drop down

时间:2015-06-29 13:53:45

标签: javascript jquery html backbone.js

我正在尝试在后骨视图中添加一个简单的下拉(我在使用jquery的render方法中创建)。我可以看到选项列表(控制台)正在生成,但它没有附加到主#container div。

<html>
    <head>
        <script type="text/javascript" src="jquery-1.11.3.js"></script>
        <script type="text/javascript" src="underscore-min.js"></script>
        <script type="text/javascript" src="backbone.js"></script>      

        <script>
                var DropdownView = Backbone.View.extend({
                    el: "#container",
                    initialize: function() 
                    {
                      this.render();                        
                    },
                    render : function()
                    {
                        var data = ['volvo','mercedes','audi'];                                             
                        var options = $("<select>");                    
                        options.attr({"id" : "drpdwn"});
                        var selectOption = $('<option>').val("select").text('select');
                        options.append(selectOption);

                        _.each(data,function(val){                      
                            var option = $('<option>').val(val).text(val);
                            options.append(option);

                        })      
                        console.log(options);               
                        console.log(this.$el);
                        this.$el.html(options);
                    }
                });

                var view = new DropdownView ();
        </script>   
    </head>
    <body>
        <div id="container">

        </div>  
    </body>
</html>

1 个答案:

答案 0 :(得分:2)

构建DropdownView时,#container并不存在于DOM中。

</body>

之后立即移动您的脚本

由于您已经在使用jQuery,因此您也可以使用

包装脚本
$(document).ready()