Javascript加/减问题

Javascript加/减问题,javascript,jquery,html,Javascript,Jquery,Html,我对javascript非常陌生,但我需要一种JS方法来在单击按钮时增加/减少输入字段中的值。我已将值设置为成功显示0,但当我单击“添加”按钮时,该值不会增加 以下是html和JS中的代码: HTML: 添加 Javascript: @section('loadjs') <script src="{{ jfi\asset_cb('/js/pagination.js') }}"></script> <script src="{{ jfi\asset_cb('/bo

我对javascript非常陌生,但我需要一种JS方法来在单击按钮时增加/减少输入字段中的值。我已将值设置为成功显示0,但当我单击“添加”按钮时,该值不会增加

以下是html和JS中的代码:

HTML:


添加
Javascript:

@section('loadjs')
<script src="{{ jfi\asset_cb('/js/pagination.js') }}"></script>
<script src="{{ jfi\asset_cb('/bower_components/uikit/js/components/slider.js') }}"></script>
<script src="{{ jfi\asset_cb('/js/factory.js') }}"></script>
<script src="{{ jfi\asset_cb('/js/jquery.min.js') }}"></script>
<script
$("#add").click(function(){
var value = $("#value").val();
value = +value + 10;
$("#value").val(value);
});
></script>
@endsection
@节('loadjs')
@端部
我在JS端缺少什么?

你可以这样做

var value = $("#value").val() + 10;
你能行

var value = $("#value").val() + 10;

看看你的代码,这将有助于创建一个小提琴。但现在让我们看看你有什么:

$("#add").click(function(){

// Here you count up value but don't tell your code what value is?
// so add my line below
value = $("#value").val();
// I've force value back to a number by *1 
value = (value*1) + 10;
// Then your code resets the value to the new value
$("#value").text(value);
});
根据您的使用场景,您还可以使用缓存机制,如下所示:

  // I create the value var outside my event handler
   var value = $("#value").val();
   // Or if i know that it will always start on zero
   var value = 0 

   $("#add").click(function(){

    // here the addition of 10 will compound and be remembered
    // since the value var is outside my event handler,  
    value = value + 10;
    // Then your code resets the value to the new value
    $("#value").text(value);
    });

看看你的代码,这将有助于创建一个小提琴。但现在让我们看看你有什么:

$("#add").click(function(){

// Here you count up value but don't tell your code what value is?
// so add my line below
value = $("#value").val();
// I've force value back to a number by *1 
value = (value*1) + 10;
// Then your code resets the value to the new value
$("#value").text(value);
});
根据您的使用场景,您还可以使用缓存机制,如下所示:

  // I create the value var outside my event handler
   var value = $("#value").val();
   // Or if i know that it will always start on zero
   var value = 0 

   $("#add").click(function(){

    // here the addition of 10 will compound and be remembered
    // since the value var is outside my event handler,  
    value = value + 10;
    // Then your code resets the value to the new value
    $("#value").text(value);
    });

您只需初始化

var value = 0;
$("#add").click(function(){
value = value + 10;

您只需初始化

var value = 0;
$("#add").click(function(){
value = value + 10;
JS小提琴在这里:

您正在单击处理程序中操作一个名为“value”的变量,我猜您可能打算将其对应于DOM元素的value属性。但是,如果不直接指定给Element.value,则不会产生任何效果

因为您似乎在使用jQuery,所以解决方案是使用
.val()
,当不带参数调用时,它将返回值(作为字符串),并在传递参数时设置元素的值(例如
.val(10)
将Element.value设置为10)。

JS Fiddle here:

您正在单击处理程序中操作一个名为“value”的变量,我猜您可能打算将其对应于DOM元素的value属性。但是,如果不直接指定给Element.value,则不会产生任何效果


因为您似乎在使用jQuery,所以解决方案是使用
.val()
,当不带参数调用时,它将返回值(作为字符串),并在传递参数时设置元素的值(例如
.val(10)
将元素的.value设置为10).

您需要获取输入值,然后增加或减少该值。当您将值存储在变量中并希望对其执行添加操作时,您需要在变量和
输入之前添加
+
符号
元素没有
文本
属性,您需要使用
进行如下设置

$(“#添加”)。单击(函数(){
var值=$(“#值”).val();
数值=+数值+10;
$(“#值”).val(值);
});


添加
您需要获取输入值,然后增加或减少该值。当您将值存储在变量中并希望对其执行添加操作时,您需要在变量和
输入之前添加
+
符号
元素没有
文本
属性,您需要使用
进行如下设置

$(“#添加”)。单击(函数(){
var值=$(“#值”).val();
数值=+数值+10;
$(“#值”).val(值);
});


添加
您必须获得当前值并求和10

当您获取一个元素的值时,您将以
字符串的形式获取它,因此您必须将其解析为
整数
,以防止出现异常

正如您所看到的,
+
操作符(放在
$()
之前)也可以用作解析器(JS技巧)

增值:

$("#add").click(function(){
    $("#value").text((+$('#value').val()) + 10);
});
$("#sub").click(function(){
    $("#value").text((+$('#value').val()) - 10);
});
减去值:

$("#add").click(function(){
    $("#value").text((+$('#value').val()) + 10);
});
$("#sub").click(function(){
    $("#value").text((+$('#value').val()) - 10);
});

您必须获得当前值并求和10

当您获取一个元素的值时,您将以
字符串的形式获取它,因此您必须将其解析为
整数
,以防止出现异常

正如您所看到的,
+
操作符(放在
$()
之前)也可以用作解析器(JS技巧)

增值:

$("#add").click(function(){
    $("#value").text((+$('#value').val()) + 10);
});
$("#sub").click(function(){
    $("#value").text((+$('#value').val()) - 10);
});
减去值:

$("#add").click(function(){
    $("#value").text((+$('#value').val()) + 10);
});
$("#sub").click(function(){
    $("#value").text((+$('#value').val()) - 10);
});


你在哪里初始化了
?哦,我的输入中有值,但我没有在那里初始化它。输入时必须是一个id吗?或者在JS中初始化?您希望每次递增10??是的,用于测试。我将根据需要修改它,因为我认为您可以只使用输入类型
编号
,属性
步骤
设置为10您在哪里初始化了
?哦,我在输入中有值,但我没有在那里初始化它。输入时必须是一个id吗?或者在JS中初始化?您希望每次递增10??是的,用于测试。我将修改它,因为我需要考虑您可以使用输入类型
number
,属性
step
设置为10。我应该澄清一下,上面代码中的输入字段当前设置为“0”。这是我想要增加和显示的数字inI已更新我的代码如果您看到第二个解决方案我的起始值在事件范围外为零,请单击,然后将其增加10。@tomN我已更新我的代码它应该是清晰的,并解决了问题。您能接受我的回答吗?我应该已经澄清,上面代码中的输入字段当前设置为值“0”。这是我想要增加并显示的数字inI已更新我的代码如果您看到第二个解决方案我的起始值在事件范围外为零,请单击,然后我将其增加10。@tomN我已更新我的代码它应该很清楚并解决了问题。您能接受我的答案吗?这看起来很完美。我已经添加了,但仍然没有什么,但我想知道,我是否需要加载某个JS脚本?我在我的@section('loadjs')@TomN的laravel刀片中有它。你需要添加jquery
Hmm我在上面添加了我的JS部分,仍然没有运气。我必须继续尝试我所看到的,控制台显示它正在加载jquery文件Can you console.log(value)并查看打印的内容。还要检查单击事件是否正在触发这看起来很完美。我已经添加了,但仍然没有什么,但我想知道,我是否需要加载某个JS脚本?我在我的@section('loadjs')@TomN的laravel刀片中有它。您需要添加jqu