Javascript 分离输入值
我有这个 它有递增/递减,它做我想做的,但问题是它们一起改变,我想把计数器1和计数器2分开,这意味着如果我想改变计数器1的值,它不必影响计数器2,反之亦然 我基本上可以给计数器2个不同的类名,并为其编写另一个脚本,但考虑到计数器将很多,这是一个很大的工作 那我该怎么做呢 Javascript代码Javascript 分离输入值,javascript,jquery,Javascript,Jquery,我有这个 它有递增/递减,它做我想做的,但问题是它们一起改变,我想把计数器1和计数器2分开,这意味着如果我想改变计数器1的值,它不必影响计数器2,反之亦然 我基本上可以给计数器2个不同的类名,并为其编写另一个脚本,但考虑到计数器将很多,这是一个很大的工作 那我该怎么做呢 Javascript代码 $(".increment").click(function() { var score1 = $(".score").val(); score1++; $(".score").val(sc
$(".increment").click(function() {
var score1 = $(".score").val();
score1++;
$(".score").val(score1);
});
$(".decrement").click(function() {
var score1 = $(".score").val();
if (score1 == 0) {
} else {
score1--;
$(".score").val(score1);
}
});
两个计数器都使用具有相同
.score
类的元素来保留分数。因此,每个元素都会同时更新.score
。您应该使用ID而不是类,或者(最好)动态创建元素并直接分配行为
例如:
.score
类的元素来保留分数。因此,每个元素都会同时更新.score
。您应该使用ID而不是类,或者(最好)动态创建元素并直接分配行为
例如:
<div class="row">
<div class="col-xs-6">
<div class="row end-xs">
<div class="row middle-xs">
<p>Counter1</p>
</div>
<div class="prdin">
<div class="increment-c1">
<i class="icon-arrow-up icons"></i>
</div>
<div id="input1">
<input type="number" class="score1" value="0">
</div>
<div class="decrement-c1">
<i class="icon-arrow-down icons"></i>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="row start-xs">
<div class="prdin">
<div class="increment-c2">
<i class="icon-arrow-up icons"></i>
</div>
<div id="input2">
<input type="number" class="score2" value="0">
</div>
<div class="decrement-c2">
<i class="icon-arrow-down icons"></i>
</div>
</div>
<div class="row middle-xs">
<p>Counter2</p>
</div>
</div>
</div>
</div>
我对您的代码做了一些更改:
<div class="row">
<div class="col-xs-6">
<div class="row end-xs">
<div class="row middle-xs">
<p>Counter1</p>
</div>
<div class="prdin">
<div class="increment-c1">
<i class="icon-arrow-up icons"></i>
</div>
<div id="input1">
<input type="number" class="score1" value="0">
</div>
<div class="decrement-c1">
<i class="icon-arrow-down icons"></i>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="row start-xs">
<div class="prdin">
<div class="increment-c2">
<i class="icon-arrow-up icons"></i>
</div>
<div id="input2">
<input type="number" class="score2" value="0">
</div>
<div class="decrement-c2">
<i class="icon-arrow-down icons"></i>
</div>
</div>
<div class="row middle-xs">
<p>Counter2</p>
</div>
</div>
</div>
</div>
将您的JavaScript更改为此
$(".increment").click(function() {
var score1 = $(this).next().find('.score').val();
score1++;
$($(this).next().find('.score').val(score1));
});
$(".decrement").click(function() {
var score1 = $(this).prev().find('.score').val();
if (score1 == 0) {
} else {
score1--;
$(this).prev().find('.score').val(score1);
}
});
不是将值设置为.score,而是根据选择的递增或递减选项查找分数
这是一个工作代码笔将您的JavaScript更改为
$(".increment").click(function() {
var score1 = $(this).next().find('.score').val();
score1++;
$($(this).next().find('.score').val(score1));
});
$(".decrement").click(function() {
var score1 = $(this).prev().find('.score').val();
if (score1 == 0) {
} else {
score1--;
$(this).prev().find('.score').val(score1);
}
});
不是将值设置为.score,而是根据选择的递增或递减选项查找分数
这是一个工作代码笔寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。与问题无关,但您的代码具有重复的ID。您需要对此进行补救。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现此问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。与问题无关,但您的代码具有重复的ID。你会想补救的。谢谢你的工作,但我在op中说过我可以这样做,所以计数器可以多达20个,所以这个解决方案没有帮助。好的@Karthik Ganesan的回答解决了这个问题。我想。谢谢你的工作,但我在op中说过我可以这样做,所以计数器可以多达20个,所以这个解决方案没有帮助。好的@Karthik Ganesan的回答解决了这个问题。我想是吧。