【问题标题】:Page reload and keep checkbox with PHP and JQUERY使用 PHP 和 JQUERY 重新加载页面并保留复选框
【发布时间】:2015-10-14 07:46:11
【问题描述】:

我的代码的问题是:

1- 只保留第一个复选框。

2- 我认为循环组织不好。

3- 将代码“html”放在“echo”中,因为我更容易看到(也许可以帮助我)。

我想做什么:

1- 重新加载页面并保留复选框。

2- 组织和构建我的代码。

我的脚本的主要思想是在用户下注时获得实时游戏结果。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Apuestas</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.4.2.js'></script>
<script type='text/javascript'>
//<![CDATA[
$(window).load(function(){
function getStorage(key_prefix) {
    // this function will return us an object with a "set" and "get" method
    // using either localStorage if available, or defaulting to document.cookie
    if (window.localStorage) {
        // use localStorage:
        return {
            set: function(id, data) {
                localStorage.setItem(key_prefix+id, data);
            },
            get: function(id) {
                return localStorage.getItem(key_prefix+id);
            }
        };
    } else {
        // use document.cookie:
        return {
            set: function(id, data) {
                document.cookie = key_prefix+id+'='+encodeURIComponent(data);
            },
            get: function(id, data) {
                var cookies = document.cookie, parsed = {};
                cookies.replace(/([^=]+)=([^;]*);?\s*/g, function(whole, key, value) {
                    parsed[key] = unescape(value);
                });
                return parsed[key_prefix+id];
            }
        };
    }
}

jQuery(function($) {
    // a key must is used for the cookie/storage
    var storedData = getStorage('com_mysite_checkboxes_'); 

    $('div.check input:checkbox').bind('change',function(){
        $('#'+this.id+'txt').toggle($(this).is(':checked'));
        // save the data on change
        storedData.set(this.id, $(this).is(':checked')?'checked':'not');
    }).each(function() {
        // on load, set the value to what we read from storage:
        var val = storedData.get(this.id);
        if (val == 'checked') $(this).attr('checked', 'checked');
        if (val == 'not') $(this).removeAttr('checked');
        if (val) $(this).trigger('change');
    });

});
});//]]> 
</script>
</head>
<body>
<?php
//Obteniendo fecha
date_default_timezone_set('America/Caracas');
$dia = date("d");
$mes = date("m");
$ano = date("Y");

//Header
echo "<link charset=\"utf-8\" href=\"./css/tablaodds.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n";

//Obteniendo json del dia
$jsonfile = "http://gd2.mlb.com/components/game/mlb/year_$ano/month_$mes/day_$dia/miniscoreboard.json";
    if(false === ($data = @file_get_contents($jsonfile))){
        echo "El archivo json no existe!";
        exit;
    }
    $data = file_get_contents($jsonfile);
    $games = json_decode($data, true);
    $gamesnum = count($games['data']['games']['game']);
    $home_team = '';
    $away_team = '';

    function random(){      
    echo mt_rand();
    }

    for ($i=0; $i<$gamesnum; $i++){
    $home_name_abbrev[$i]= $games['data']['games']['game'][$i]['home_name_abbrev'];
    $hometeam[$i]= $games['data']['games']['game'][$i]['home_team_name'];
    $away_name_abbrev[$i]= $games['data']['games']['game'][$i]['away_name_abbrev'];
    $awayteam[$i]= $games['data']['games']['game'][$i]['away_team_name'];
    $status[$i] = $games['data']['games']['game'][$i]['status'];
    $etime[$i] = $games['data']['games']['game'][$i]['first_pitch_et'];
    $time = strtotime($etime[$i]);
    $startTime = date("h:i", strtotime('-30 minutes', $time));
    $ampm[$i] = $games['data']['games']['game'][$i]['ampm'];
    $league[$i] = $games['data']['games']['game'][$i]['league'];
    $x = '0';
    $y = '1';
    $z = '2';


        if ($status[$i] == 'Warmup') {
            $statusf = ' | <FONT style="color: Gold">Calentando</FONT>';
            $disabled_a[$i] = 'Disabled';
            $disabled_b[$i] = 'Disabled';
        } else if ($status[$i] == 'In Progress') {
            $home_team_runs[$i] = $games['data']['games']['game'][$i]['home_team_runs'];
            $away_team_runs[$i] = $games['data']['games']['game'][$i]['away_team_runs'];
            $inning[$i] = $games['data']['games']['game'][$i]['inning'];
            $statusf = ' | <FONT style="BACKGROUND-COLOR: red">En Juego</FONT>  | (' . $inning[$i] . 'th)</td>';
            $home_team = "[$home_team_runs[$i]]";
            $away_team = "[$away_team_runs[$i]]";
            $disabled_a[$i] = '';
            $disabled_b[$i] = '';
        } else if ($status[$i] == 'Delayed') {
            $statusf = ' | <FONT style="color: Gold">Retraso</FONT>';
            $disabled_a[$i] = 'Disabled';
            $disabled_b[$i] = 'Disabled';
        } else if ($status[$i] == 'Final') {
            $home_team_runs[$i] = $games['data']['games']['game'][$i]['home_team_runs'];
            $away_team_runs[$i] = $games['data']['games']['game'][$i]['away_team_runs'];
            $inning[$i] = $games['data']['games']['game'][$i]['inning'];
            $statusf = ' | <FONT style="color: grey">Final</FONT>';
            $home_team = "[$home_team_runs[$i]]";
            $away_team = "[$away_team_runs[$i]]";
            $disabled_a[$i] = '';
            $disabled_b[$i] = '';
        } else if ($status[$i] == 'Game Over') {
            $home_team_runs[$i] = $games['data']['games']['game'][$i]['home_team_runs'];
            $away_team_runs[$i] = $games['data']['games']['game'][$i]['away_team_runs'];
            $inning[$i] = $games['data']['games']['game'][$i]['inning'];
            $statusf = ' | <FONT style="color: grey">Final</FONT>';
            $home_team = "[$home_team_runs[$i]]";
            $away_team = "[$away_team_runs[$i]]";
            $disabled_a[$i] = 'Disabled';
            $disabled_b[$i] = 'Disabled';
        } else {
            $statusf = '';
            $home_team = "";
            $away_team = "";
            $disabled_a[$i] = '';
            $disabled_b[$i] = '';
        }
        if ($league[$i] == 'NN') {
            $leaguef = 'National League';
        } else if ($league[$i] == 'AA') {
            $leaguef = 'American League';
        }

    echo "<div class=\"check\"><table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\" style=\"background-color:white;\">\n"; 
    echo "  <tbody>\n"; 
    echo "      <tr class=\"stathead\">\n"; 
    echo "          <td colspan=\"5\" style=\"background-color:#0B3861;color:white;\">$home_name_abbrev[$i] $hometeam[$i] vs $away_name_abbrev[$i] $awayteam[$i] | [MLB] $leaguef $statusf \n"; 


    echo "      </tr>\n"; 
    echo "      <tr class=\"colhead\" style=\"text-align:center;\">\n";
    echo "<td>$startTime $ampm[$i]</td>\n";
    echo "          <td>A GANAR</td>\n"; 
    echo "          <td>ALTA/BAJA (6.5)</td>\n"; 
    echo "          <td>RUN LINE</td>\n"; 
    echo "          <td>ALTA/BAJA (3.5)</td>\n"; 
    echo "      </tr>\n"; 
    echo "      <tr class=\"oddrow\">\n"; 
    echo "          <td style=\"text-align:center;font-weight:700;color:#444;font-size:11px\">\n"; 
    echo "          <img width=\"20\" height=\"20\" src=\"./images/icons/$home_name_abbrev[$i].png\">\n"; 
    echo "          $home_name_abbrev[$i] $hometeam[$i] $home_team \n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\"><input id=\"checkbox_";
    echo "_$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\"><input id=\"checkbox_";
    echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\"><input id=\"checkbox_";
    echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\"><input id=\"checkbox_";
    echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
    echo "          </td>\n"; 


    echo "      </tr>\n"; 
    echo "      <tr class=\"evenrow\">\n"; 
    echo "          <td style=\"text-align:center;font-weight:700;color:#444;font-size:11px\">\n"; 
    echo "          <img width=\"20\" height=\"20\" src=\"./images/icons/$away_name_abbrev[$i].png\">\n"; 
    echo "          $away_name_abbrev[$i] $awayteam[$i] $away_team \n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\"><input id=\"checkbox_b$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>+143\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\">\n"; 
    echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
    echo "              <tbody>\n"; 
    echo "                  <tr>\n"; 
    echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>B -115\n"; 
    echo "                      </td>\n"; 
    echo "                  </tr>\n"; 
    echo "              </tbody>\n"; 
    echo "          </table>\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\">\n"; 
    echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
    echo "              <tbody>\n"; 
    echo "                  <tr>\n"; 
    echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>+1.5 -125<br />\n"; 
    echo "                      </td>\n"; 
    echo "                  </tr>\n"; 
    echo "              </tbody>\n"; 
    echo "          </table>\n"; 
    echo "          </td>\n"; 
    echo "          <td style=\"text-align:center;\">\n"; 
    echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
    echo "              <tbody>\n"; 
    echo "                  <tr>\n"; 
    echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>B -115\n"; 
    echo "                      </td>\n"; 
    echo "                  </tr>\n"; 
    echo "              </tbody>\n"; 
    echo "          </table>\n"; 
    echo "          </td>\n"; 
    echo "      </tr>\n"; 
    echo "  </tbody>\n"; 
    echo "</table></div>\n";
    }
?>
</body>
</html>

【问题讨论】:

  • 重新加载是什么意思?提交页面还是重新加载?
  • @HarshadaChavan 嗨,重新加载..
  • 你确定交互正确吗?我看到几个复选框的 id 相同,它们应该是这样吗?
  • @HarshadaChavan 我尝试用随机数识别复选框,但仍然不起作用..

标签: javascript php jquery checkbox


【解决方案1】:
echo "<div class=\"check\"><table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\" style=\"background-color:white;\">\n"; 
echo "  <tbody>\n"; 
echo "      <tr class=\"stathead\">\n"; 
echo "          <td colspan=\"5\" style=\"background-color:#0B3861;color:white;\">$home_name_abbrev[$i] $hometeam[$i] vs $away_name_abbrev[$i] $awayteam[$i] | [MLB] $leaguef $statusf \n"; 


echo "      </tr>\n"; 
echo "      <tr class=\"colhead\" style=\"text-align:center;\">\n";
echo "<td>$startTime $ampm[$i]</td>\n";
echo "          <td>A GANAR</td>\n"; 
echo "          <td>ALTA/BAJA (6.5)</td>\n"; 
echo "          <td>RUN LINE</td>\n"; 
echo "          <td>ALTA/BAJA (3.5)</td>\n"; 
echo "      </tr>\n"; 
echo "      <tr class=\"oddrow\">\n"; 
echo "          <td style=\"text-align:center;font-weight:700;color:#444;font-size:11px\">\n"; 
echo "          <img width=\"20\" height=\"20\" src=\"./images/icons/$home_name_abbrev[$i].png\">\n"; 
echo "          $home_name_abbrev[$i] $hometeam[$i] $home_team \n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\"><input id=\"checkbox_1";
echo "_$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\"><input id=\"checkbox_2";
echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\"><input id=\"checkbox_3";
echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\"><input id=\"checkbox_4";
echo "$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_a[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\">-158</label>\n"; 
echo "          </td>\n"; 


echo "      </tr>\n"; 
echo "      <tr class=\"evenrow\">\n"; 
echo "          <td style=\"text-align:center;font-weight:700;color:#444;font-size:11px\">\n"; 
echo "          <img width=\"20\" height=\"20\" src=\"./images/icons/$away_name_abbrev[$i].png\">\n"; 
echo "          $away_name_abbrev[$i] $awayteam[$i] $away_team \n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\"><input id=\"checkbox_b1$i\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>+143\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\">\n"; 
echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
echo "              <tbody>\n"; 
echo "                  <tr>\n"; 
echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b2$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>B -115\n"; 
echo "                      </td>\n"; 
echo "                  </tr>\n"; 
echo "              </tbody>\n"; 
echo "          </table>\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\">\n"; 
echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
echo "              <tbody>\n"; 
echo "                  <tr>\n"; 
echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b3$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>+1.5 -125<br />\n"; 
echo "                      </td>\n"; 
echo "                  </tr>\n"; 
echo "              </tbody>\n"; 
echo "          </table>\n"; 
echo "          </td>\n"; 
echo "          <td style=\"text-align:center;\">\n"; 
echo "          <table cellpadding=\"3\" cellspacing=\"1\" class=\"tablehead\">\n"; 
echo "              <tbody>\n"; 
echo "                  <tr>\n"; 
echo "                      <td style=\"text-align:center;\"><input id=\"checkbox_b4$i random()\" class=\"cmn-toggle cmn-toggle-yes-no\" type=\"checkbox\" $disabled_b[$i]><label for=\"cmn-toggle-7\" data-on=\"-138\" data-off=\"-138\"></label>B -115\n"; 
echo "                      </td>\n"; 
echo "                  </tr>\n"; 
echo "              </tbody>\n"; 
echo "          </table>\n"; 
echo "          </td>\n"; 
echo "      </tr>\n"; 
echo "  </tbody>\n"; 
echo "</table></div>\n";

【讨论】:

  • 抱歉正在测试您的代码,因此延迟似乎与您分配的 ID 有问题。我在上面的代码中更改了一些,效果很好
  • 哦!你真是个天才!非常感谢,我延迟了几个小时试图解决这个问题。
猜你喜欢
  • 2023-03-14
  • 2015-03-08
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 2015-03-28
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多