按钮onclick不响应变量


    $.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功能?

您可以将此更新为:

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

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


注意:

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

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

最新更新