2017-04-05 52 views
0

このコードのようにjquery関数にclick関数から複数のデータを送信したいと思います。複数の値を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

は、次の2人のクリックイベントリスナーを結合しています! 1つは '.click()'を使用し、もう1つは 'onclick'属性を使用します! –

+1

2つのイベントリスナーを登録していて、要素の 'id'にイベントをバインドしている場合、HTMLからデータを渡す必要はありません。 'id'はユニークでなければならないので、関数にデータをコードすることもできます。 – Cerbrus

+0

追加したjavascriptリスナーに問題がありますか?なぜjQueryも必要ですか? – ControlAltDel

答えて

1

<script> 
$(function() { 
    $("#button").click(function() { 
    alert('hello' + 'word'); 
    }); 
}); 
</script> 

アン:のonclickイベントに耳を傾ける あなたはとてもようにそれらのいずれかを削除することができます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は固定値ではありません – mody

+0

@modyは、その値がexacltyであることを説明して、jqueryは本当に必要です.Javascriptは単純な解決策になる可能性があるので、 –

+0

ボタンから関数内にトウの値があります。私はそれらのトウの値を使用する別のコードを持っていますが、私は例のためだけに警告を使用しています – mody

1

次のコードでは、トリックを行う必要があります:偽

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

リターンを。デフォルトのアクションを防ぐことです。

+1

いいえ、 'myf( 'hello'、 'word')'の結果を '.on'に渡しています。 – Cerbrus

+0

いいえ、私はonclickからjqueryに送って固定値ではありません – mody

+0

私の答えを編集しましたが、それでも何か問題がありましたか? –

2

HTMLからデータを渡すことは絶対にありません。

ボタンのidにその機能をバインドしています。そのidである必要があります。したがって、このような値の組み合わせは1つだけです。

ただ、これを使用する:あなたはたい場合は、HTMLからデータを送信するために、

$(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>

をそれとも、あなたはこのような何かをする必要があるとしている:

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

それとも、あなたははjQueryのを使用したい場合、あなたはこのように畳み込ん何かをする必要があるとしている:

あなたがしようとする両方の2イベントを使用している

$("#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

関連する問題