снимите флажок, который был только что проверен на основе функции JavaScript - PullRequest
1 голос
/ 05 ноября 2011

Я искал ответ и надеюсь, что кто-то здесь может помочь.У меня есть скрипт, который запускается, когда вы устанавливаете флажок из группы флажков.Флажкам присваивается значение «идентификатор клиента»

<input type="checkbox" name="inv_add[]" onclick="setcid(\''.$result['cid'].'\')" value='.$result['id'].'/>

. Цель javascript - присвоить значение скрытому полю, сообщающему следующей странице, что такое идентификатор клиента для всех отмеченных полей.

Если пользователь установил флажок, назначенный другому клиенту (поэтому он не входит в группу), я хочу предупредить пользователя и снять флажок с последнего флажка.Я могу пройти весь путь до оповещения, но не могу снять флажок, который пользователь только что установил.

function setcid(cid) {

if (window.set_x === undefined) {
    sethidden = document.getElementById('cid');
    sethidden.value = cid;
    set_x = cid;
    alert ("finished setting x");

    }

    else if (cid !== set_x){
            alert ("You are trying to add two different companies to the same invoice");
                           /*Uncheck the box just checked by user*/
            }

        else {
            alert("they are the same");
                           /*no modification required*/
            }

}

Ответы [ 2 ]

4 голосов
/ 05 ноября 2011

Вы можете передать объект this при вызове функции:

http://jsfiddle.net/msV24/

HTML

<input type="checkbox" name="inv_add[]" onclick="setcid(\''.$result['cid'].'\',this)" value='.$result['id'].'/>

1010 * Javascript * function setcid(cid, sender) { ... else if (cid !== set_x){ alert ("You are trying to add two different companies to the same invoice"); sender.checked = false; } else { alert("they are the same"); /*no modification required*/ } }

0 голосов
/ 05 ноября 2011

Я бы назначил ваш флажок и ID chk_[TheIdOfTheHiddleField]:

<input type="checkbox"
       id='.$result['id'].'
       name="inv_add[]"
       onclick="setcid(\''.$result['cid'].'\')"
       value='.$result['id'].' />

Затем снимите флажок так:

document.getElementById("chk_" + cid).checked = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...