javascript - 如何合并相似的js函数?

标签 javascript ajax

我的问题是我不知道如何合并那些相似的函数,我很确定有某种方法可以将其剪切为一个函数。 10991100是游戏的ID。 ajax_query 是我的函数,它使用给定的参数运行 ajax 查询。

$('#away1099').click(function ()
{
    if ($( "#home1099" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1099, 'home', 'remove', 'home', 1);
    }
    else if ($( "#away1099" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1099, 'away', 'remove', 'away');
    }
    else
    {
        ajax_query(1099, 'away', 'add', 'away');
    }
    return false;
});

$('#home1099').click(function ()
{
    if ($( "#away1099" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1099, 'away', 'remove', 'away', 1);
    }
    else if ($( "#home1099" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1099, 'home', 'remove', 'home');
    }
    else 
    {
        ajax_query(1099, 'home', 'add', 'home'); 
    }
    return false;
});


$('#away1100').click(function ()
{
    if ($( "#home1100" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1100, 'home', 'remove', 'home', 1);
    }
    else if ($( "#away1100" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1100, 'away', 'remove', 'away');
    }
    else
    {
        ajax_query(1100, 'away', 'add', 'away');
    }
    return false;
});

$('#home1100').click(function ()
{
    if ($( "#away1100" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1100, 'away', 'remove', 'away', 1);
    }
    else if ($( "#home1100" ).hasClass( "table-bets-choosen" ))
    {
        ajax_query(1100, 'home', 'remove', 'home');
    }
    else 
    {
        ajax_query(1100, 'home', 'add', 'home'); 
    }
    return false;
});

最佳答案

根据类属性驱动它:

例如:

如果有 2 个 div,如下所示:

 <div id="away1099" />
 <div id="away2000" />

然后向其中添加一些类:

   <div id="away1099"  class="away" />
   <div id="away2000"  class="away" />

然后将 jquery 事件绑定(bind)到类选择器:

$('.away').click(function ()
{
   // your logic
});

关于javascript - 如何合并相似的js函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24864091/

相关文章:

PHP 和 jQuery 与 MySQL

ajax - jQuery 的 delegate() 不会为 AJAX 加载的内容绑定(bind)事件

javascript - 为什么要使用 JavaScript 扩展运算符来更新数组中的项目?

javascript - ES8 和 ES9 中的 jshint 指的是什么?

javascript - 单击父元素时更改子类

javascript - $http.GET 中的 JSON 数组返回未定义,即使它不应该返回

php - 如何渲染ajax返回的文件

javascript - Azure Easy API JavaScript : How to return multiple result set from MSSQL query

javascript - 当用户未登录但 Facebook ID 已知时,使用 Javascript API 检索 Facebook 好友?

ajax - 使用 Ajax 将 JSON 发送到 WCF 3.5