div内容到函数arg

时间:2012-07-27 14:14:06

标签: jquery

我对jquery很新... 我正在使用ToastMessge插件(demo and download here)..

我想通过引用另一个函数的参数来传递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());

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

1 个答案:

答案 0 :(得分:0)

根据您提供的链接,您似乎只是尝试根据“msgtype”div的内容调用不同的“Toast Message”,我不明白为什么您需要使用函数指针,您应该能够简单地传入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 -->

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

例如

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);
});