如何在对话框中显示javascript变量?

时间:2012-08-26 15:11:39

标签: javascript jquery jquery-ui

我有一个搜索表单,可以显示与搜索过滤器匹配的人员列表。 显示搜索结果后,我想要一个链接(id = names_list),单击该链接会显示一个显示人名列表的对话框。

我不明白为什么这段代码不起作用:

 <a id="names_list" href="#">Names list</a>

    {% for person in persons %}
       <a class="name_for_mylist">{{ person | name }}</a>
    {% endfor %}

    <script>        
            $(document).ready(function()    
            {
                $("#names_list").click(function(event){
                    event.preventDefault();
                    var list = "";
                    $(".name_for_mylist").each(function(){
                        list += $(this).html() + "; ";
                    });
                    var box=list.dialog({ title: "Names list" });
                    box.show();
                });
            });
    </script>

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:1)

list是一个字符串,它没有方法.dialog

你应该这样做:

$(document).ready(function () {
    $("#names_list").click(function (event) {
        event.preventDefault();
        var list = "";
        $(".name_for_mylist").each(function () {
            list += $(this).html() + "; ";
        });
        $('<div>').html(list).appendTo('body').dialog({
            title: "Names list"
        });
    });
});

答案 1 :(得分:0)

var liste = "";
$(".name_for_mylist").each(function(){
  list += $(this).html() + "; ";
});

你声明了liste变量,你将$(this).html()添加到列表变量。

尝试将list+= $(this).html()+ ';';更改为liste+= $(this).html()+ ';';

答案 2 :(得分:0)

更改此

var box=list.dialog({ title: "Names list" });

到这个

var box=$(list).dialog({ title: "Names list" });

你可以在jquery包装器附近放任何东西。

大约一半的javascript,

var liste = "";

“list”末尾的额外“e”