如何在一个字符串中向JS函数发送1个以上的arg
how to send more than 1 arg to JS function within a string?
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个则失败。另外,数据滚动没有影响,有什么想法吗?
您的函数名为fun,而不是函数。请确保在onclick事件中使用正确的名称。
问候
在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>
为了更好地理解,我想更详细地解释
让我们假设:秩序。OrderID="orderId1"和订单。总计="total100"
当您将此<tr>
附加到DOM时,order.OrderID
和order.Total
的值将附加到onclick函数,而不是变量。
您的onclick已呈现为onclick="fun(orderId1, total100)"
。如果单击此选项,您将收到一个错误,因为变量orderId1和变量total100未定义。正确的解决方案是添加一些引号,得到两个字符串。您必须用''转义引号,否则引号将破坏您试图在第一个代码片段中附加的字符串。
内联调用click函数总是有点混乱,尤其是当您想要传递多个字符串或变量时。我总是采用自定义数据属性。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-mobile属性只有在第一次加载页面时位于DOM内部时才会起作用。如果你想动态地附加一些东西,你必须调用相应的小部件。对于按钮,您只需要调用$(".ShowDet").button()
来初始化按钮标记。但是按钮的一个更简单的方法是使用css类来设置它们的样式。.ui-btn
- 为什么我的控制器没有启动函数.js脚本
- 在函数js中传递变量
- 如何在单独的文件中调用函数 js.
- 在铯中调用函数.js当事件被尝试时
- 只有setTimeout执行函数.JS
- 为什么图像选择器程序中的这个函数 js 不起作用
- 获取邮件中的信息.php从函数.js解析为manage.html
- 如何从应用程序中调用JS函数.js在Rails4视图中
- Uncatch TypeError: obj.attr 不是函数 JS
- 从 C++ 节点调用 JavaScript 函数.js扩展
- 调用 Backbone 内部的外部函数.js的视图初始化方法
- 如何使用 Scala 创建 JavaScript 函数.js
- 使用带有下划线循环的回调函数.js骨干.js项目不起作用
- 获取字段值的函数-JS
- 函数js不能递归调用自己的函数
- 在函数JS中创建带有地理代码的标记
- 循环内部的函数(js/jquery)
- 我需要帮助将此代码添加到jQuery函数.js文件中
- 未捕获类型:未定义不是函数JS错误
- 停止多个内联函数JS的事件传播