Как использовать глобальную переменную с phonegap navigator.notification.confirm? - PullRequest
0 голосов
/ 31 января 2012

у меня такая ситуация:

<a href="#" onClick="submitNotification(1);">click1</a>
<a href="#" onClick="submitNotification(2);">click2</a>
<a href="#" onClick="submitNotification(3);">click3</a>

function submitNotification(cdata){
    navigator.notification.confirm(
            'do you like '+cdata+' option ',
            submit,
            'notice',
            'Yes,No'
    );

function submit(button){    
    if (button == 1){
        alert(id); //or alert(cdata);
    } else if (button == 2){
        ...
    }
}

Итак, я нажимаю на ссылку, 1 или 2 ... отправляется на submitNotification, где я получаю сообщение: do you like 1 option или do you like 2 option или ... в зависимости от того, по какой ссылке я нажимаю .

эта функция вызывает submitVote и как-то отправляет button var. yes означает 1, а no означает 2.

проблема в том, что я не могу получить id или cdata по исходной ссылке. на самом деле они пришли как значение 3 (последняя ссылка).

я использую, чтобы сделать:

function submitNotification(cdata){
    navigator.notification.confirm(
            'do you like '+cdata+' option ',
            submit(cdata),
            'notice',
            'Yes,No'
    );

function submit(id){    
    if (button == 1){
        alert(id);
    } else if (button == 2){
        ...
    }
}

в этом случае я получаю предупреждение id, но значения кнопок недоступны.

Есть идеи, как получить доступ к этому id или cdata, какой бы вариант не был доступен? Есть ли способ отправить оба button и cdata vars функции submit

примечание: ссылки создаются в цикле $.each.

спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2012

Надеюсь, это поможет (после переписывания кода :)).

Обратите внимание, что и submitNotification, и submit являются отдельными функциями (не вложенными в них), а переменная buttonClicked определена в глобальной области видимости.

var buttonClicked = 0;

function submitNotification(cdata){
    buttonClicked = cdata;

    navigator.notification.confirm(
            'do you like '+cdata+' option ',
            submit,
            'notice',
            'Yes,No'
    );
 }

function submit(button){    
    if (buttonClicked === 1){
      doWhatYouWant(); // .. but think about the Omen
    }
}
0 голосов
/ 25 сентября 2013
function submitNotification(cdata){
    navigator.notification.confirm(
            'do you like '+cdata+' option ',
            submit,
            'notice',
            'Yes,No'
    );

function submit(button){    
    if (button == 1){
        alert(id);
    } else if (button == 2){
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...