0

以下のような連絡先リストがあります。

<div class="contacts_list_data_contacts" id="contactlist">
<div class="contacts_checkbox_01"><input name="contact_id[]" id="contact_id" type="checkbox"  value="28383" style="margin-top:0px ; margin-left:-3px;" /></div>
<div class="contacts_firstname_01_contacts">Michael</div>                                 
<div class="ncontacts_mobile_nmbr_01">+44515665544</div>
</div>

<div class="contacts_list_data_contacts" id="contactlist">
<div class="contacts_checkbox_01"><input name="contact_id[]" id="contact_id" type="checkbox"  value="28383" style="margin-top:0px ; margin-left:-3px;" /></div>
<div class="contacts_firstname_01_contacts">Katherine</div>                                 
<div class="ncontacts_mobile_nmbr_01">+30589746621</div>
</div>

次のようになります。

Firstname     MobileNumber
===========================
Michael       +44515665544
Katherine     +30589746621          

連絡先を削除するために ajax リクエストを使用しています

contact_id=document.getElementById('contact_id_ajax').value;
    xmlHttp.open("POST","?action=ajaxcontact&todo=DeleteContact&contact_id=" +contact_id ,true);

以下の関数を使用すると、チェックボックスを入れることで一度に1つの連絡先しか取得できません。すべての連絡先を選択して ajax リクエストに渡すときに、すべての連絡先を渡す方法がわかりません。

<Script>
var field;
        function get_contact(field)
        {
            for (i = 0; i < field.length; i++)

            if(field[i].checked)
             document.getElementById("contact_id_ajax").value=field[i].value;
        }
</Script>

ありがとうございました、

4

1 に答える 1

1

まず、まず。要素に同じ ID を使用する場所がたくさんあります。これは実際には非常に悪い習慣です。同様のアイテムのコレクションを識別する方法が必要な場合は、クラスを使用します (すでに持っている - ID を取り除くか、一意のものを取得するだけです)。

さて、次のようにチェックボックスにクラスを追加すると-

<input name="contact_id[]" class="contact_id" type="checkbox"  value="28383" style="margin-top:0px ; margin-left:-3px;" />

次に、getContacts関数で、引数をスキップして-を使用できます

function getContacts(){
    var contacts = document.getElementByClassName('contact_id'), ids = [];
    for (var i = 0; i < contacts.length; i += 1){
        if (contacts[i].checked)
             ids.push(contacts[i].value);
    }
    return ids;
}

今、連絡先リストが必要な場合-

var contacts = getContacts(); //array of contact ids
//This array can now be used in your ajax request
于 2012-07-29T07:23:08.773 に答える