2017-04-05 67 views
0

我想從點擊函數發送多個數據到像這樣的代碼的jquery函數。從onclick函數發送多個值到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>

我該怎麼辦呢?

+1

要綁定兩個click事件偵聽器!一個使用'.click()',另一個使用'onclick'屬性! –

+1

您正在註冊2個事件偵聽器,如果您將元素的「id」事件綁定,則從HTML傳遞數據沒有意義。 'id'必須是唯一的,所以你不妨將數據編碼到函數中。 – Cerbrus

+0

您添加的JavaScript偵聽器有什麼問題?爲什麼你還需要一個jQuery? – ControlAltDel

回答

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> 
+0

helllo word not fixed value – mody

+0

@mody你可以解釋一下那些值是什麼,然後是jquery真正neccesary,因爲JavaScript可能是一個簡單的解決方案 –

+0

我有兩個內部函數按鈕(顯示在我的問題)價值..當我clcik在按鈕我想要的值發送到jquery函數..我有另一個代碼來使用這些兩個值,但我只使用警報例如 – mody

1

下面的代碼應該做的伎倆:

function myf(data1, data2) { 
 
    alert(data1 + data2); 
 
    return false; 
 
}
<a id="button" href="#" onclick="myf('hello', 'word');">click me</a>

返回FALSE;是爲了防止默認操作。

+1

不,現在您將'myf('hello','word')'的結果傳遞給'.on'。這就像'$(「#button」)。on(「click」,false);' – Cerbrus

+0

不,我想從onclick發送到jquery並且不固定值 – mody

+0

編輯我的答案,仍然有任何問題嗎? –

2

從HTML傳遞數據絕對沒有意義。

您正在將該功能綁定到按鈕的id。那id必須是唯一的,所以只有這種值的單一組合。

只要使用此:

$(function() { 
 
    $("#button").click(function() { 
 
    alert('hello' + 'word'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" id="button">click</a>

或者,如果你想從HTML發送數據,你將不得不做這樣的事情:

function mf (data1, data2){ 
 
    alert(data1 + data2); 
 
}
<a href="#" id="button" onclick="mf('hello','word');">click</a>

或者,如果你想使用jQuery,你將不得不做一些令人費解這樣的:

$("#button").click(function() { 
 
    var data = $(this).data('params').split(','); 
 
    alert(data[0] + data[1]); 
 
});
<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>

+0

我的價值不固定我有很多按鈕,每個有價值 – mody

+0

@mody - 你的建築按鈕動態? – K7Buoy

+0

我想用jquery – mody

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> 

https://jsfiddle.net/wnd6ovkf/6/

+0

我知道這個先生..我想與jquery – mody

+0

@mody添加jquery的問。 – Ecstabis

+0

你好單詞不固定值它改變..我想從按鈕功能發送數據到jqure和jquery顯示它 – mody