0

検索フィルターに一致する人のリストを表示できる検索フォームがあります。検索結果が表示されたら、リンク (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>

助けてくれてどうもありがとう!

4

3 に答える 3

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"
        });
    });
});
于 2012-08-26T15:19:57.037 に答える
0
var liste = "";
$(".name_for_mylist").each(function(){
  list += $(this).html() + "; ";
});

u は liste 変数を宣言し、 $(this).html() を list 変数に追加しています。

に変更list+= $(this).html()+ ';';して みてくださいliste+= $(this).html()+ ';';

于 2012-08-26T15:14:41.773 に答える
0

これを変える

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

これに

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

jquery ラッパーのどこにでも置くことができます。

あなたのjavascriptの約半分、

var liste = "";

「リスト」の末尾に追加の「e」

于 2012-08-26T15:15:10.153 に答える