0

我对 jquery 很陌生...我正在使用 ToastMessge 插件(演示并在此处下载)..

我想通过引用另一个函数的参数来传递 Toastmessage 函数的名称,但以下方法不起作用:

$(document).ready(function() {
        function switchMsgType(fref) 
            {
             var fname = null;  
             fref(fname);
            }
            var alfa = $("#msgtype").html();

            switchMsgType(alfa);
         });

html:

<body>

    <div id="msgtype"><?php echo $_GET['msgtype']; ?></div>
    <div id="msg">bla bla ....</div>  <!-- txt of the message -->
    ...

我拥有的唯一工作版本是:

...
switchMsgType(showStickySuccessToast);
... 

但我必须在页面中保留我的 PHP $_GET msgtype....所以我可以从“警告”切换到“成功”等...我已经尝试过:

$.trim($("#msgtype").text());  or...    $.trim($("#msgtype").html());

和其他人......但没有......提前谢谢...... :)

4

1 回答 1

0

根据您提供的链接,您似乎只是想根据“msgtype”的内容调用不同的“Toast Message” div,我不明白为什么需要为此使用函数指针,您应该是能够简单地传入 toastMsg 类型的名称并使用它来显示适当的 toast 消息,

例如

function callToastMsg(msgType, msg) {
      $().toastmessage('show' + msgType + 'Toast', msg);
}

$(function() {
    var msgType = $('#msgtype').text();
    var msg = $('#msg').text();
    callToastMsg(msgType, msg);
}); 

HTML

<div id="msgtype"><?php echo $_GET['msgtype']; ?></div> //say $_GET['msgtype'] == "Success"
<div id="msg">bla bla ....</div>  <!-- txt of the message -->

如果您尝试执行与您在评论中发布的链接类似的操作,那么您需要确保这些功能存在,但我真的不确定您为什么要这样做。

例如

function success(msg) {
    $().toastmessage('showSuccessToast', msg);
}

function warning(msg) {
    $().toastmessage('showWarningToast', msg);
}
function callOtherFunction(nameOfFunction, msg) {
    window[nameOfFunction](msg);
}

$(function() {
    var nameOfFunction = $('#msgtype').text();
    var msg = $('#msg').text();
    callOtherFunction(nameOfFunction, msg);
}); 
于 2012-07-27T15:10:07.403 回答