updat 功能名称不是问题(意外复制错误) 问题是我发送字符串! 感谢 mplungjan 问题解决了!!
这是我的代码:
$("#GVHistory").append("<tr><td>" + order.OrderID +"</td><td><a href='#dialogHistory' id='ShowDet' data-role='button' data-transition='pop' onclick='function(" + order.OrderID +"," + order.Total + ")'>Details</a></td></tr>");
我有一个JavaScript函数:
function fun(id,t) {
$("#HistHead").empty();
$("#HistHead").append(t + id);
}
当我发送1个参数时,它运行良好,但超过1则失败。 再加上数据卷没有影响,有什么想法吗?
答案 0 :(得分:0)
您的功能名为有趣,而不是功能。请确保在onclick事件中使用正确的名称。
此致
答案 1 :(得分:0)
在html中的onclick事件中,函数是“function”,而函数被称为“fun”。
以下代码有效:
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
</head>
<body>
<div id="HistHead">Test</div>
<table id="GVHistory"></table>
<script>
$(document).ready(function(){
order ={OrderID:12,Total:15};
$("#GVHistory").append("<tr><td>" + order.OrderID +"</td><td><a href='#dialogHistory' id='ShowDet' data-role='button' data-transition='pop' onclick='fun(" + order.OrderID +"," + order.Total + ")'>Details</a></td></tr>");
});
function fun(id,t) {
$("#HistHead").empty();
$("#HistHead").append(t + id);
}
</script>
</body>
答案 2 :(得分:0)
为了更好地理解,我想更详细地解释 我们假设:order.OrderID =&#34; orderId1&#34;和order.Total =&#34; total100&#34;
在您将此<tr>
附加到DOM的那一刻,order.OrderID
和order.Total
的值会附加到您的onclick函数,而不是变量。
您的onclick已呈现给onclick="fun(orderId1, total100)"
如果单击此按钮,则会出现错误,因为未定义变量orderId1和变量total100。正确的解决方案是添加一些引号,以获得两个字符串。您必须使用\来转义引号,否则引号将在您的第一个代码段中销毁您尝试追加的字符串。
调用内联单击函数总是有点乱,特别是如果你想交出多个字符串或变量。我总是采用自定义数据属性。 data-xxx="xxx"
交出一些东西。
$("#GVHistory").append("<tr><td>" + order.OrderID +"</td><td><a href='#dialogHistory' class='ShowDet ui-btn' data-transition='pop' data-orderid='"+order.OrderID+"' data-ordertotal='"+order.Total+"'>Details</a></td></tr>");
$(".ShowDet").unbind("click").on("click", function (){
var id = $(this).data("orderid");
var t = $(this).data("ordertotal");
$("#HistHead").empty().append(t + id);
});
data-role="button"
的第二个问题
这个自定义jquery移动属性只在第一次加载页面时才会在DOM内部执行。如果要动态附加某些内容,则必须调用相应的小部件。如果是按钮,您只需调用$(".ShowDet").button()
以使按钮标记初始化。但是更简单的按钮方法是使用css类来设置它们的样式。 .ui-btn