我想将点击功能中的多个数据发送到jquery函数,就像这段代码一样。
当我点击我的按钮时,我会在警告框中显示[object Object]undefined]
代码:
$(function() {
$("#button").click(function myf(data1, data2) {
alert(data1 + data2);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="button" onclick="myf('hello','word');">click</a>
&#13;
我该怎么做?
答案 0 :(得分:2)
从HTML传递数据绝对没有意义。
您将该功能绑定到按钮的id
。 id
必须是唯一的,因此只有单一的价值组合。
请使用:
$(function() {
$("#button").click(function() {
alert('hello' + 'word');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="button">click</a>
&#13;
或者,如果您希望从HTML发送数据,那么您将不得不这样做:
function mf (data1, data2){
alert(data1 + data2);
}
&#13;
<a href="#" id="button" onclick="mf('hello','word');">click</a>
&#13;
或者,如果您希望使用jQuery,那么您将不得不做一些令人费解的事情:
$("#button").click(function() {
var data = $(this).data('params').split(',');
alert(data[0] + data[1]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="button" data-params='hello,word'>click</a>
&#13;
答案 1 :(得分:1)
以下代码应该可以解决问题:
function myf(data1, data2) {
alert(data1 + data2);
return false;
}
&#13;
<a id="button" href="#" onclick="myf('hello', 'word');">click me</a>
&#13;
返回false;是为了防止违约行为。
答案 2 :(得分:1)
您正在使用2个事件,它们都会尝试收听onclick事件 你可以删除其中一个:
<script>
$(function() {
$("#button").click(function() {
alert('hello' + 'word');
});
});
</script>
id始终是唯一的,因此您可以将值直接放入函数中。
如果你真的想使用jquery,你可以使用它:
$("#button").click(function() {
var data = $(this).data('params').split('|');
alert(data[0] + data[1]);
});
这是为了html:
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<a href="#" id="button" data-params='hello|world'>click</a>
答案 3 :(得分:0)
如上所述,你已经有了一个倾听者,我没有看到添加另一个的意义。
<button onclick="myf('hello','word')">click</button>
<script>
function myf(data1,data2){
alert(data1+data2);
}
</script>
https://jsfiddle.net/wnd6ovkf/
和jquery版本:
<button data1= "value" data2= "value2" class="btn">click</button>
<button data1= "ohtervalue" data2= "othervalue2" class="btn">click</button>
<script>
$(".btn").click(function() {
alert(this.getAttribute("data1") + " " + this.getAttribute("data2"));
});
</script>