我已经阅读了很多主题如何处理Javascript的onclick vs Jquery; s .click(),但我无法弄清楚如何使用jQuery传递参数.
第一个选项 - Javascript,HTML
The HTML
<input type="button" onclick="doAction(<?=$id?>,'order');" />
Run Code Online (Sandbox Code Playgroud)
所以在JS我能做到
function doAction(id,type){
//do something here
}
Run Code Online (Sandbox Code Playgroud)
第二个选项 - jQuery,HTML
The HTML
<input type="button" id="trigger" />
Run Code Online (Sandbox Code Playgroud)
所以jQuery变成了
$("#trigger").click(function() {
//do something here
});
Run Code Online (Sandbox Code Playgroud)
我是否必须做类似的事情(在这种情况下,我如何知道id和type的值?)
$("#trigger").click({id: "???", type: "????"}, other_function);
function other_function(event){
id = event.data.param1;
type = event.data.param2;
}
Run Code Online (Sandbox Code Playgroud)
我是否必须使用"传递参数"
HTML
<input type="hidden" id="id" value="<?=$id?>" />
<input type="hidden" id="type" value="order" />
jQuery
$("#trigger").click(function(){
var id = $("#id").val();
var type = $("#type").val();
//do something
});
Run Code Online (Sandbox Code Playgroud)
我想避免使用onclick(),因为我已经读过它应该避免使用.我只需要一个合适的方法来传递参数,就像我使用onclick()一样.
您可以使用数据将data()传递给事件.
<input type="hidden" id="id" data-idatt="123" />
<input type="hidden" id="type" value="order" />
$("#trigger").click(function(){
var id = $("#id").data("idatt").val();
});
Run Code Online (Sandbox Code Playgroud)