gpt4 book ai didi

javascript - 我怎样才能修改我的 jQuery 函数来更新数字计数器

转载 作者:行者123 更新时间:2023-11-30 08:45:42 24 4
gpt4 key购买 nike

我在我的一个部分中显示数字计数器。当我将新的投注单添加到容器中时,数字显示正确。但是,当我删除任何行时,计数器不会更新。例如,如果有 3 行编号为 1、2 和 3,如果我删除行号 2,则更新的值为 1 和 3。事实上,计数器应重置为 1 和 2。

这是我的JS代码

添加投注单行

function createSingleBetDiv(betInfo) {
var id = betInfo['betType'] + '_' + betInfo['productId'] + '_' + betInfo['mpid'],
div = createDiv(id + '_div', 'singleBet', 'bet gray2'),
a = createA(null, null, null, null, 'right orange'),
leftDiv = createDiv(null, null, 'left'),
closeDiv = createDiv(null, null, 'icon_shut_bet'),
singleBetNumber = ++document.getElementsByName('singleBet').length;

// Info abt the bet
$(leftDiv).append('<p class="title"><b>' + singleBetNumber + '.&nbsp;' + betInfo['horseName'] + '</b></p>');
var raceInfo = "";
$("#raceInfo").contents().filter(function () {
if (this.nodeType === 3) raceInfo = $(this).text() + ',&nbsp;' + betInfo['betTypeName'] + ' (' + betInfo['value'] + ')';
});
$(leftDiv).append('<p class="title">' + raceInfo + '</p>');

// Closing btn
(function(id) {
a.onclick=function() {
removeSingleBet(id + '_div');
};
})(id);
$(a).append(closeDiv);

// Creating input field
$(leftDiv).append('<p class="supermid"><input id="' + id + '_input\" type="text"></p>');

// Creating WIN / PLACE checkbox selection
$(leftDiv).append('<p><input id="' + id + '_checkbox\" type="checkbox"><b>' + winPlace + '</b></p>');

// Append left part
$(div).append(leftDiv);
// Append right part
$(div).append(a);
// Appending div with data
$.data(div, 'mapForBet', betInfo);

return div;
}

删除投注单的功能

function removeSingleBet(id) {

// Remove the div
removeElement(id);

// Decrease the betslip counter
decreaseBetSlipCount();

// Decrease bet singles counter
updateBetSinglesCounter();
}

function decreaseBetSlipCount() {
var length = $("#racingBetSlipCount").text().length,
count = $("#racingBetSlipCount").text().substring(1, length-1),
text;
count = parseInt(count);

if (!isNaN(count)) count--;
if (count == 0) text = noSelections;
else text = count;
$("#racingBetSlipCount").text('(' + text + ')');
}

最佳答案

这可以只使用 CSS 来完成,例如:

DEMO jsFiddle

HTML:

 <div id="bets">
<div class="bet"> some content</div>
<div class="bet"> some content</div>
<div class="bet"> some content</div>
</div>

CSS:

#bets {
counter-reset: rowNumber;
}

#bets .bet {
counter-increment: rowNumber;
}

#bets .bet::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}

添加/删除任何行时,所有行号都会自动更新。

关于javascript - 我怎样才能修改我的 jQuery 函数来更新数字计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22228544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com