如何将参数传递给JQuery函数?

时间:2012-11-15 06:19:51

标签: jquery html

我想将值传递给Jquery函数。 以下是Javascript示例代码。我想将此javascript函数转换为jquery函数。如何将状态名称传递给jquery onclick函数?

<a onclick="showState('state_name')">ADD STATE </a>

 function showState(state_name){
 openbox_state(state_name);
 }

请帮帮我。

5 个答案:

答案 0 :(得分:12)

你真的不清楚你是否有一系列锚点来添加不同的状态,或者......?

如果这样做,您可以执行以下操作来为每个链接记录相应的州名称:

<a data-stateName="state_name">ADD STATE </a>

然后在JS中使用jQuery:

$(document).ready(function() {
    $("a[data-stateName]").click(function() {
        openbox_state( $(this).attr("data-stateName") );
    });
});

这会从html中删除内联JavaScript,然后使用jQuery将点击处理程序仅绑定到具有<a>属性的data-stateName个元素。然后,处理程序获取该属性的值以传递给openbox_state()函数。

文档就绪处理程序确保在文档实际准备好之前,即在元素被解析并且可以从JS访问之后,锚点击绑定不会发生。 (如果将JS放在body元素末尾的脚本块中,则不需要现成的处理程序。)

答案 1 :(得分:1)

像这样:

  $('#MyID').click(function () {

        var StateName = $(this).text();
        showState(StateName);       
   });

然后对于HTML,你可以放一些这样的ID:

<a id="MyID">ADD STATE </a>

或者,如果您有许多状态(我假设您正在尝试这样做),那么您可以通过CSS类引用链接,如下所示:

<a class="StateSelector">ADD STATE </a>

然后你的jquery代码变成:

$('.StateSelector').click(function () {

      var StateName = $(this).text();
      showState(StateName);          
});

要连接事件处理,您可以将jquery代码放在文档就绪函数中,如下所示:

$(document).ready(function() {

    $('.StateSelector').click(function () {

          var StateName = $(this).text();
          showState(StateName);          
    });
});

答案 2 :(得分:1)

如果您有多个a,其中包含不同的参数。

<a onclick="showState('Delhi')">ADD STATE</a>
<a onclick="showState('Punjab')">ADD STATE</a>
<a onclick="showState('Gujrat')">ADD STATE</a>

function showState(state_name){
 openbox_state(state_name);
} 

然后你可以使用像这样的自定义属性

<a state="Delhi">ADD STATE</a>
<a state="Punjab">ADD STATE</a>
<a state="Gujrat">ADD STATE</a>

$('a').click(function () {
   var StateName = $(this).attr("state");
   openbox_state(StateName);
});

答案 3 :(得分:1)

您可以这样做:

<a onclick="showState()" id="florida">ADD STATE </a>

 function showState(state_name){
    var state_name = $(this).attr('id')
    openbox_state(state_name);
}

此功能将检索&#34; id&#34;来自链接的价值。然后,您可以将值传递到&#34; openbox_state()&#34;功能。 : - )

答案 4 :(得分:0)

<a>Montana</a>

$('a').on('click', function(){
     var state = this.text ;   // OR $(this).text();   OR   $(this).html();
     showState(state);
});