如何将全局变量与phonegap navigator.notification.confirm一起使用?

发布于 2024-12-29 17:29:35 字数 1547 浏览 2 评论 0原文

我遇到这种情况:

<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){
        ...
    }
}

因此,我单击链接 12 ... 发送到 submitNotification ,我在其中收到一条消息: 您喜欢 1 个选项您喜欢 2 个选项 或 ... 取决于我点击的链接。

该函数调用 submitVote 并以某种方式向其发送 button var。 yes 表示 1no 表示 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 警报,但按钮值不可用。

有什么想法如何访问该 idcdata,无论 var 可用吗?有没有办法将 buttoncdata 变量发送到 submit 函数

注意:链接是在 $.each 中创建的循环。

谢谢

i have this situation:

<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){
        ...
    }
}

so, i click on a link, 1 or 2 ... gets send to submitNotification where i get a message: do you like 1 option or do you like 2 option or ... depending on what link i click.

this function calls submitVote and sends button var to it somehow. yes means 1 and no means 2.

the problem is that i cant get id or cdata from the original link. actually they came as value 3 (the last link).

i use to do:

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){
        ...
    }
}

in this case i get the id alert but the button values are not available.

Any ideas how to get access to that id or cdata, whatever var is available? Is there a way to send both button and cdata vars to the submit function

note: the links get created in a $.each loop.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

成熟稳重的好男人 2025-01-05 17:29:36

希望这会有所帮助(在重写所有代码之后:))。

请注意,submitNotificationsubmit 都是单独的函数(未嵌套),并且 var 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
    }
}

Hope this helps (after all the code rewriting :)).

Notice that both submitNotification and submit are separate functions (not nested in) and var buttonClicked is defined in global scope.

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
    }
}
地狱即天堂 2025-01-05 17:29:36
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){
        ...
    }
}
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){
        ...
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文