可能重复:
How to send multiple arguments to jQuery click function?
我想将多个参数传递给Jquery函数。以下是Javascript示例代码。我想将此javascript函数转换为jquery函数。如何将这些参数传递给jquery onclick事件?
<a onclick="showState('state_name','state_id')">ADD STATE </a>
function showState(state_name,state_id){
openbox_state(state_name,state_id);
}
答案 0 :(得分:5)
也许我会在这里使用数据集:
HTML:
<a data-state_name="state_name" data-state_id="state_id" >ADD STATE</a>
JS:
$(function() {
...
$('a[data-state_id]').click(function() {
var $this = $(this);
showState($this.data('state_name'), $this.data('state_id'));
return false;
});
...
});
你实际上不必jwrap被点击的对象,因为你可以使用dataset API获取属性值(如果你有幸不支持IE9-)或简单{{1} } 方法。然而,我发现这种语法更清晰,更易读。
答案 1 :(得分:2)
正确的方法是:
<a href="#" id="myanchor" data-nm="state_name" data-id="state_id">ADD STATE </a>
<script type="text/javascript">
$(document).ready(function(event) {
event.preventDefault();
$('#myanchor').on('click', function() {
openbox_state( $(this).data('nm') , $(this).data('id'));
});
});
</script>
答案 2 :(得分:1)
您的Jquery代码:
<script language="javascript" type="text/javascript">
var state_name=$('#txtName').val();
var state_id=$('#txtid').val();
$(document).ready(function () {
$('a').click(function(){
showState(state_name,state_id);
});
});
function showState(state_name,state_id){
openbox_state(state_name,state_id);
}
</script>
您的HTML:
<a href="javaScript:void(0);">ADD STATE </a>
<input type="text" id="txtName" value="Tom Cruse" />
<input type="text" id="txtid" value="1" />
这个jquery从输入中获取值,使用它们的id并将它们用作参数来调用方法。
答案 3 :(得分:0)
如果您需要传递要在事件处理程序中使用的其他数据,则jQuery click事件绑定器已经支持此功能。但是为了使用它,你必须通过代码而不是内联绑定来绑定事件处理程序。
$(函数(){ $('#id')。click({additional:“data”},function(){// handler code}); });