0

最も近いli要素を削除しようとしています。li同じIDの要素を作成しているループがあるということです。これは今のところ問題ありませんが、同じ仕事をしている別のループがあります。各要素には、それぞれliのを取得するjs削除関数があります。しかし今、2番目のループの要素をクリックすると、最初のループの最初のliが削除されます。最初のループの私のjsコードはこれです:idlili

function del_contact_a(cid){
        $.ajax({
            url: "/del_contact_a/",
            data: {id:cid},
            type: "POST",
        }).success(function(){
            $('#'+cid).closest('li').remove();
        })
}

2番目のループのjsコードは次のとおりです。

function del_contact_ver(cid){
        $.ajax({
            url: "/del_contact_ver/",
            data: {id:cid},
            type: "POST",
        }).success(function(){
            $('#'+cid).closest('li').remove();
        })
}

私の両方のループは次のとおりです。

{% if contact_a %}
{% for ac in contact_a %}
<li id="{{ac.id}}"> <a> {{ac.name}} {{ac.nachname}}</a> <a onclick="del_contact_a({{ac.id}})"> <img src="{{STATIC_URL}}images/erase.png" /> </a>  </li>
{% endfor %}
{% endif %}

..

{% if contact_a %}
{% for ac in contact_a %}
<li id="{{ac.id}}"> <a> {{ac.name}} {{ac.nachname}}</a> <a onclick="del_contact_ver({{ac.id}})"> <img src="{{STATIC_URL}}images/erase.png" /> </a>  </li>
{% endfor %}
{% endif %}

誰かが私に手がかりをくれますか?どうもありがとう

4

1 に答える 1

1

あなたはあなたのliの2つのループで同じIDを持っています。ループに応じて、それぞれにプレフィックスを使用する必要があります。

最初の1つ :

<li id="a-{{ac.id}}">

2つ目:

<li id="ver-{{ac.id}}">

そしてそれに応じてあなたの""を変更します

IDは、その名前が想定しているように一意である必要があります:P

さらに、なぜあなたが最も近い方法を使用しているのか分かりませんか?

$('#'+cid).remove();

十分なはずです。

于 2012-12-06T13:38:49.910 に答える