zaznaczanie całej tablicy checkboxów

0

Hej,
mam taki checkbox gdzie po kliknieciu zaznacza mi wszystkie checkboxy

<input type="checkbox" name="chkbox" value="0" onClick="check_elements(this,document.myform.where_email)"/>

to jest w pętli while

echo '<input type="checkbox" value="' . $row['id'] . '" name="where_email[]"/>';
function check_elements(checker, field){

    for (i = 0; i < field.length; i++) {

        if (checker.checked == true)
            field[i].checked = true;
        else
            field[i].checked = false;

    }
}

działa mi jeśli mam w petli while w name="where_email" (bez tablicy) a gdy dodam już [] to nie działa. Czy ktoś może mi pomóc rozwiązać problem? Bardzo proszę. Co muszę zrobić aby można było mieć name="where_email[]"

0

bo pola się nie nazywają wtedy where_email tylko where_email[]

zamiast:

document.myform.where_email

daj:

document.getElementsByName('where_email[]')

ewentualnie jeśli masz kilka form i chcesz się odwołać konkretnie do tych elementów z "myform" to:

document.getElementsByName('myform')[0].getElementsByName('where_email[]')

(lepiej dać wtedy ID i zamiast ...ElementsByName('myform')[0] napisać ...ElementById('myform'))

w jQuery cała funkcja wyglądałaby tak:

$('form[name=myform] > input[name^=where_email]').each(
    function() {
        this.checked ^= true;
    }
);

1 użytkowników online, w tym zalogowanych: 0, gości: 1