按钮onclick没有响应变量

时间:2014-05-15 18:26:22

标签: javascript jquery ajax

    $.ajax(
    {
        type: "GET",
        dataType: "json",
        url: "API's/Menus/RestaurantID.json",
        success: function(data)
        {
            var str = new String();
            var m=0;
            str+='<div id="displayMenu">';
            $.each(data, function(index, data) 
            {
                if(index==num)
                {

                    m=data.menu.MenuID;
                    //str+=data.menu.OmfID+'<br>';
                    //str+=data.menu.menu_name+'<br>';
                    if(data.menu.menu_description!=null)
                        str+=data.menu.menu_description+'<br>';
                    if(data.menu.menu_note!=null)
                        str+=data.menu.menu_note+'<br>';                    
                    str+=data.menu.currency_symbol+'<br>';
                    str+=data.menu.language+'<br>';
                    //if(data.menu.disabled!=null)
                        //str+=data.menu.disabled+'<br>';

                    str+=data.menu.menu_uid+'<br>';
                    str+=data.menu.menu_duration_name+'<br>';
                    str+=data.menu.menu_duration_time_start+'<br>';
                    str+=data.menu.menu_duration_time_end+'<br>';
                    //str+=data.menu.fDateAdded+'';
                }
            });

            str+='<div id="checkoutMenu">check out the menu?<br>';
            alert(m);

            str+="<button type='button' onclick='menu(m);'>Click Me!</button></div>";
</div>';
            str+= '</div>';
            document.getElementById("menusInfo").innerHTML=str;
        }

这是我的JavaScript,而且我现在无法解释的一件事就是onclick按钮并不想在函数调用中运行它用变量m调用的函数。我的问题是

  1. 如何使用变量修复onclick函数?

1 个答案:

答案 0 :(得分:0)

您可以更新为此内容以查看:

str+="<button type='button' onclick='menu(" + m + ");'>Click Me!</button></div>";

因为在你的onclick事件中,你传递的var m就像一个不是变量的字符串,如果你想传递一个变量,那么它必须像这样连接。


注意:

</div>'; // is this required??
        str+= '</div>';

因为我看到你在按钮之后关闭了一个div而在上面的str之后关闭了另一个。