Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ""; $return.=“赔率:”$结果[几率]。""; $return.=“股份:£;”; $return.=“预计收益:£;”; 如果($result['ew_available']==“true”){ $return.=“双向下注?”; } 否则{ $return.=“”; } $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; } $return.=“”; return$return; }_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript ""; $return.=“赔率:”$结果[几率]。""; $return.=“股份:£;”; $return.=“预计收益:£;”; 如果($result['ew_available']==“true”){ $return.=“双向下注?”; } 否则{ $return.=“”; } $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; } $return.=“”; return$return; }

Javascript ""; $return.=“赔率:”$结果[几率]。""; $return.=“股份:£;”; $return.=“预计收益:£;”; 如果($result['ew_available']==“true”){ $return.=“双向下注?”; } 否则{ $return.=“”; } $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; $return.=“”; } $return.=“”; return$return; },javascript,php,jquery,html,Javascript,Php,Jquery,Html,或者你可以简单地检查它的集合和它的值是否为0,如果不是这样的话,就让它保持不变,否则就把它设置为0。虽然它看起来很漂亮,但每次都会检查它是否已分配 function readbets( $link, $id, $currentpage, $loggedIn = true ) { //just added this if else to your code nothing else $idCount = isset($idCount)?$idCount:$idCount=0;

或者你可以简单地检查它的集合和它的值是否为0,如果不是这样的话,就让它保持不变,否则就把它设置为0。虽然它看起来很漂亮,但每次都会检查它是否已分配

function readbets( $link, $id, $currentpage, $loggedIn = true ) {
    //just added this if else to your code nothing else
    $idCount = isset($idCount)?$idCount:$idCount=0;
    //edit end
    $queryBase = "SELECT * FROM `bets` WHERE `user_id` = '%s';";
    if($loggedIn == true) {
        $queryBase2 = sprintf($queryBase, $id);
    }
    else {
        $queryBase2 = sprintf($queryBase, $id);
    }
    $selectQuery = $link->query($queryBase2);
    $return = "<div style='max-height: 680px; overflow: auto;'>";
    while($result = mysqli_fetch_array($selectQuery)) {
        $idCount++;
        if($result['odds'] == "SP") {
            $odds = "SP";
        }
        else {
            $_odds = explode("/", $result['odds']);
            $odds = $_odds[0] / $_odds[1];
        }            

        $return .= "<div style='border: 1pt solid black; width: 99%;'>";
        $return .= "<h2>" . stripslashes($result['title']) . "</h2>";
        $return .= "<form action='/' method='post'>";
        $return .= "<table class='table table-condensed'>";

        $return .= "<tr><td style='width:50%;'>Sport: </td><td>" . $result['sport'] . "</td></tr>";
        $return .= "<tr><td style='width:50%'>Participant: </td><td>" . stripslashes($result['participant']) . "</td></tr>";
        $return .= "<tr><td>Market: </td><td>" . stripslashes($result['market']) . "</td></tr>";
        $return .= "<tr><td>Time: </td><td>" . date("H:i", strtotime($result['bet_till_time'])) . "</td></tr>";
        $return .= "<tr><td>Odds: </td><td>" . $result['odds'] . "<input type='hidden' value='" . $odds . "' id='__odds-" . $idCount . "' /></td></tr>";
        $return .= "<tr><td>Stake: </td><td><div class='input-group'><span class='input-group-addon' id='basic-addon1'>&pound;</span><input style='width:100%' type='text' name='stake' id='stake-" . $idCount . "' aria-describedby='basic-addon1' placeholder='Stake' /></div></td></tr>";
        $return .= "<tr id='dynamic_return'><td colspan='10'><center><div class='input-group'><span class='input-group-addon' id='basic-addon2'>Estimated Return: &pound;</span><input style='width:100%' type='text' id='showdynamicreturn-" . $idCount . "' aria-describedby='basic-addon2' placeholder='0.00' readonly /></div></center></td></tr>";

        if($result['ew_available'] == "true") {
            $return .= "<tr><td><center><label>Each way bet?&nbsp;&nbsp;<input type='checkbox' id='eachWayChk' name='eachWayChk' /></label></center></td>" .  "<td><center><input type='submit' name='submitTo__OpenBets' value='Place Bet' /></center></td></tr>";
        }
        else {                
            $return .=  "<tr><td colspan='10'><center><input type='submit' name='submitTo__OpenBets' value='Place Bet' /></center></td></tr>";
        }

        $return .= "<!-- Hidden fields for the horses information. -->";
        $return .= "<input type='hidden' name='betslip_id' value='" . $result['bet_id'] . "' />";
        $return .= "<input type='hidden' name='sport' value='" . $currentpage . "' />";
        $return .= "<input type='hidden' name='eachWay' id='eachWay' value='' />";

        $return .= "<input type='hidden' name='odds' value='" . $result['odds'] . "' />";
        $return .= "<input type='hidden' name='ew_odds' value='" . $result['ew_odds'] . "' />";
        $return .= "<input type='hidden' name='sport' value='" . $result['sport'] . "' />";

        $return .= "<input type='hidden' name='bettilldate' value='" . $result['bettilldate'] . "' />";
        $return .= "<input type='hidden' name='bettilltime' value='" . $result['bettilltime'] . "' />";

        $return .= "<!-- Area to \"submit a delete\" and remove an item from the bet slip. -->";
        $return .= "<tr><td colspan='100%'><center><input type='submit' name='delete_betslip_item' value='Delete this bet' onclick=\"return confirm('Are you sure you want to delete this?')\" /></center></td></tr>";
        $return .= "</table>";
        $return .= "</form>";
        $return .= "</div><br>";
    }
    $return .= "</div>";
    return $return;
}
函数readbets($link,$id,$currentpage,$loggedIn=true){
//只是在代码中添加了if-else,没有其他内容
$idCount=isset($idCount)?$idCount:$idCount=0;
//编辑结束
$queryBase=“从'bets'中选择*,其中'user_id`='%s';”;
如果($loggedIn==true){
$queryBase2=sprintf($queryBase,$id);
}
否则{
$queryBase2=sprintf($queryBase,$id);
}
$selectQuery=$link->query($queryBase2);
$return=“”;
而($result=mysqli\u fetch\u数组($selectQuery)){
$idCount++;
如果($result['赔率]==“SP”){
$lobbits=“SP”;
}
否则{
$_赔率=爆炸(“/”,$结果['赔率]);
$赔率=$\赔率[0]/$\赔率[1];
}            
$return.=“”;
$return.=''.stripslashes($result['title']);
$return.=“”;
$return.=“”;
$return.=“运动:”.$result['Sport']。”;
$return.=“参与者:.stripslashes($result['Participant'])”;
$return.=“市场:.stripslashes($result['Market'])”;
$return.=“Time:.date(“H:i”,strottime($result['bet\u till\u Time']))”;
$return.=“赔率:”.$result[“赔率]”;
$return.=“股份:£;”;
$return.=“预计收益:£;”;
如果($result['ew_available']==“true”){
$return.=“双向下注?”;
}
否则{
$return.=“”;
}
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“”;
$return.=“
”; } $return.=“”; return$return; }
最可能的问题是idcount和
i
不正确匹配-可能是因为代码中有其他div

通过在HTML中包含所有相关内容(idcount),您可以极大地简化您正在做的事情,并消除出现错误的循环

更改输出的HTML,使其在数据元素中包含“id号”
idCount
,而不是通过对id进行巴斯德化

// replace the input element with the one below:
<input style='width: 100%' type='text' name='stake' id='stake' data-idnumber='" . $idCount . "' aria-describedby='basic-addon1' placeholder='Stake' />
注:

  • 还有其他方法;您可以像以前一样循环div(但最好不要使用“div”(例如类名)这样的不太通用的选择器),然后使用“find”来获取要更新/处理的正确元素
  • Simba关于使用HTMLSpecialChars和预先准备好的语句(不依赖条带标签)的评论是非常划算的——如果HTMLSpecialChars不能正常工作的话。一旦你解决了这个问题,为了你自己的安全和理智,请跟随他的评论,然后你的数据就乱七八糟了,你以后会后悔的!在你走到无法修好的地步之前,现在就应该修好它。事先准备好的陈述也是一种很好的做法,可以更早而不是更晚地进行
检查此工作模式

更改了一些代码,如下所示

$(document).ready(function() {  
            $("#stake-3").on('keyup', function () {
                var newVal = (parseFloat($("#stake-3").val(), 10) * parseFloat($("#__odds-3").val(), 10)) + parseFloat($("#stake-3").val(), 10) || 0;
                $("#showdynamicreturn-4").val(parseFloat(newVal).toFixed(2));
            });
      });
<input class="odds" type='hidden' value='3.8' id='__odds-3' />
<input class="stake" style='width: 100%' type='text' name='stake' id='stake-3' aria-describedby='basic-addon1' placeholder='Stake' />
<input class="showdynamicreturn" style='width:100%' type='text' id='showdynamicreturn-4' aria-describedby='basic-addon2' placeholder='0.00' readonly />

检查一下,让我知道它是否有用

好的,我知道了。我们可以使用特定于类的函数,而不是在DOM中添加特定于id的函数

因此,将类分配给以下标记

<input type='hidden' value='3.8' id='__odds-3' />
<input style='width: 100%' type='text' name='stake' id='stake-3' aria-describedby='basic-addon1' placeholder='Stake' />
<input style='width:100%' type='text' id='showdynamicreturn-4' aria-describedby='basic-addon2' placeholder='0.00' readonly />
此代码将适用于所有表,无论您有多少个表,并且只在所需的“估计返回”文本框中给出结果

工作小提琴在这里


检查一下,告诉我是否有用

我不确定你打算做什么。此外,我在您的代码元素中找不到以
stack-
开头的
id
\uu赔率-
showdynamicreturn-
的代码元素。我认为您的部分代码在此缺失,您需要更清楚地了解您试图实现的目标。count\u div在哪里defined@atmd,它直接定义在文档后面的每个函数的上方。准备好了吗?您的代码还有更多内容吗?为什么不把它全部放进去?@atmd,我要补充一点:你缺少一个开头的引号
data-idnumber=“.idCount.”
应该是
data-idnumber=”,“$idCount.”
。我同意使用data attr,但从我所看到的情况来看,输入是从while循环中提取的,这意味着您将有多个输入具有相同的
id
恐怕不是,这是我需要的
$(“#stack-”+I)
的硬编码值,对于我需要的,我需要使用动态版本,我在我的代码中使用过这个,它以前也使用过,但我要求它不要硬编码,我在问题描述中已经说明了这一点。当存在多个
class=“stake”
时会发生什么?当然,jQ会把每一个项目都放在同一个
class=“showdynamicreturn”
中,就像每个项目都有一个一样?不。。它将检查最近的。。这意味着它正在检查自己的父级,并且只更新自己的同级。很明显
function readbets( $link, $id, $currentpage, $loggedIn = true ) {
    //just added this if else to your code nothing else
    $idCount = isset($idCount)?$idCount:$idCount=0;
    //edit end
    $queryBase = "SELECT * FROM `bets` WHERE `user_id` = '%s';";
    if($loggedIn == true) {
        $queryBase2 = sprintf($queryBase, $id);
    }
    else {
        $queryBase2 = sprintf($queryBase, $id);
    }
    $selectQuery = $link->query($queryBase2);
    $return = "<div style='max-height: 680px; overflow: auto;'>";
    while($result = mysqli_fetch_array($selectQuery)) {
        $idCount++;
        if($result['odds'] == "SP") {
            $odds = "SP";
        }
        else {
            $_odds = explode("/", $result['odds']);
            $odds = $_odds[0] / $_odds[1];
        }            

        $return .= "<div style='border: 1pt solid black; width: 99%;'>";
        $return .= "<h2>" . stripslashes($result['title']) . "</h2>";
        $return .= "<form action='/' method='post'>";
        $return .= "<table class='table table-condensed'>";

        $return .= "<tr><td style='width:50%;'>Sport: </td><td>" . $result['sport'] . "</td></tr>";
        $return .= "<tr><td style='width:50%'>Participant: </td><td>" . stripslashes($result['participant']) . "</td></tr>";
        $return .= "<tr><td>Market: </td><td>" . stripslashes($result['market']) . "</td></tr>";
        $return .= "<tr><td>Time: </td><td>" . date("H:i", strtotime($result['bet_till_time'])) . "</td></tr>";
        $return .= "<tr><td>Odds: </td><td>" . $result['odds'] . "<input type='hidden' value='" . $odds . "' id='__odds-" . $idCount . "' /></td></tr>";
        $return .= "<tr><td>Stake: </td><td><div class='input-group'><span class='input-group-addon' id='basic-addon1'>&pound;</span><input style='width:100%' type='text' name='stake' id='stake-" . $idCount . "' aria-describedby='basic-addon1' placeholder='Stake' /></div></td></tr>";
        $return .= "<tr id='dynamic_return'><td colspan='10'><center><div class='input-group'><span class='input-group-addon' id='basic-addon2'>Estimated Return: &pound;</span><input style='width:100%' type='text' id='showdynamicreturn-" . $idCount . "' aria-describedby='basic-addon2' placeholder='0.00' readonly /></div></center></td></tr>";

        if($result['ew_available'] == "true") {
            $return .= "<tr><td><center><label>Each way bet?&nbsp;&nbsp;<input type='checkbox' id='eachWayChk' name='eachWayChk' /></label></center></td>" .  "<td><center><input type='submit' name='submitTo__OpenBets' value='Place Bet' /></center></td></tr>";
        }
        else {                
            $return .=  "<tr><td colspan='10'><center><input type='submit' name='submitTo__OpenBets' value='Place Bet' /></center></td></tr>";
        }

        $return .= "<!-- Hidden fields for the horses information. -->";
        $return .= "<input type='hidden' name='betslip_id' value='" . $result['bet_id'] . "' />";
        $return .= "<input type='hidden' name='sport' value='" . $currentpage . "' />";
        $return .= "<input type='hidden' name='eachWay' id='eachWay' value='' />";

        $return .= "<input type='hidden' name='odds' value='" . $result['odds'] . "' />";
        $return .= "<input type='hidden' name='ew_odds' value='" . $result['ew_odds'] . "' />";
        $return .= "<input type='hidden' name='sport' value='" . $result['sport'] . "' />";

        $return .= "<input type='hidden' name='bettilldate' value='" . $result['bettilldate'] . "' />";
        $return .= "<input type='hidden' name='bettilltime' value='" . $result['bettilltime'] . "' />";

        $return .= "<!-- Area to \"submit a delete\" and remove an item from the bet slip. -->";
        $return .= "<tr><td colspan='100%'><center><input type='submit' name='delete_betslip_item' value='Delete this bet' onclick=\"return confirm('Are you sure you want to delete this?')\" /></center></td></tr>";
        $return .= "</table>";
        $return .= "</form>";
        $return .= "</div><br>";
    }
    $return .= "</div>";
    return $return;
}
// replace the input element with the one below:
<input style='width: 100%' type='text' name='stake' id='stake' data-idnumber='" . $idCount . "' aria-describedby='basic-addon1' placeholder='Stake' />
$("#stake").on('keyup', function () {
    var i = parseInt($(this).data("idnumber") , 10);
    var orginalVal = parseFloat($(this).val(), 10);        
    var newVal = orginalVal  * parseFloat($("#__odds-" + i).val(), 10)) + orginalVal || 0;
    $("#showdynamicreturn-" + i).val(parseFloat(newVal).toFixed(2));
});
$(document).ready(function() {  
            $("#stake-3").on('keyup', function () {
                var newVal = (parseFloat($("#stake-3").val(), 10) * parseFloat($("#__odds-3").val(), 10)) + parseFloat($("#stake-3").val(), 10) || 0;
                $("#showdynamicreturn-4").val(parseFloat(newVal).toFixed(2));
            });
      });
<input type='hidden' value='3.8' id='__odds-3' />
<input style='width: 100%' type='text' name='stake' id='stake-3' aria-describedby='basic-addon1' placeholder='Stake' />
<input style='width:100%' type='text' id='showdynamicreturn-4' aria-describedby='basic-addon2' placeholder='0.00' readonly />
<input class="odds" type='hidden' value='3.8' id='__odds-3' />
<input class="stake" style='width: 100%' type='text' name='stake' id='stake-3' aria-describedby='basic-addon1' placeholder='Stake' />
<input class="showdynamicreturn" style='width:100%' type='text' id='showdynamicreturn-4' aria-describedby='basic-addon2' placeholder='0.00' readonly />
$(document).ready(function() {

        $(".stake").on('keyup', function () {
            var newVal = (parseFloat($(this).val(), 10) * parseFloat($(this).closest(".table").find(".odds").val(), 10)) + parseFloat($(this).val(), 10) || 0;

            $(this).closest(".table").find(".showdynamicreturn" ).val(parseFloat(newVal).toFixed(2));
        });
});