Jquery 如何从输入中获取值
我试图捕捉输入的变化,但它不能与按钮一起增加或减少值,这里的解决方案是什么Jquery 如何从输入中获取值,jquery,Jquery,我试图捕捉输入的变化,但它不能与按钮一起增加或减少值,这里的解决方案是什么 <div class="container"> <button id="tang" class="btn btn-success">+</button> <input type="text" name="" id="number" value="1""> <button id="giam" class="b
<div class="container">
<button id="tang" class="btn btn-success">+</button>
<input type="text" name="" id="number" value="1"">
<button id="giam" class="btn btn-danger">-</button>
<h1 id="show"></h1>
</div>
请参考下面的代码。您需要从增加和减少按钮更改触发更改事件
$(“#tang”)。单击(函数(){
让结果=parseInt($(“#number”).val())+1;
$(“#number”).val(结果).change();
});
$(“#giam”)。单击(函数(){
让result=parseInt($(“#number”).val())-1;
$(“#number”).val(结果).change();
});
$(“#编号”).change(函数(){
$(“#show”).html($(“#number”).val());
});代码>
+
它对我有用。以下是工作代码:
页面中是否包含jQuery
HTML
+
作为一种快速修复方法,您可以在按钮中的行中添加事件触发器
$("#number").val(result).change();
您可以更进一步,将两个click()
函数合并为一个函数(使用if
子句增加/减少值)。您的代码中有一个拼写错误,并将您的所有函数包装在document.ready中
这一行的打字错误
有两个选项
触发事件,如$(“#number”).change()
。但是,您的代码重复了许多不必要的代码
您应该像下面这样重构代码
$(“#tang”)。单击(函数(){
let result=parseInt($(“#number”).val())+1
赋值显示值(结果);
});
$(“#giam”)。单击(函数(){
让result=parseInt($(“#number”).val())-1;
赋值显示值(结果);
});
$(“#编号”).change(函数(){
赋值显示值($(“#number”).val());
});
函数赋值显示值(值){;
$(“#数字”).val(值);
$(“#显示”).text(值);
}
+
-
不是问题所在,但是,您在html中有一个错误value=“1”“>
应该是value=“1”“>
解决方案重复了大量不必要的代码。检查以获得更多选项。我参考了有问题的确切代码,而不是引入新函数和展示我的优化技能。这里需要的解决方案是为什么没有检测到更改。不写不同的代码。是的,这取决于你。在我看来,上面的代码很难理解。这取决于OP的决定。快乐的编码。是的,我想OP会更容易遵循我答案中的代码,因为这是他自己的代码,除了我添加的代码,缺少的代码。也谢谢你的建议。快乐编码:)
<div class="container">
<button id="tang" class="btn btn-success">+</button>
<input type="text" name="" id="number" value="1"">
<button id="giam" class="btn btn-danger">-</button>
<h1 id="show"></h1>
</div>
$("#tang").click(function(){
let result = parseInt($("#number").val()) +1 ;
$("#number").val(result);
});
$("#giam").click(function(){
let result = parseInt($("#number").val()) -1 ;
$("#number").val(result);
});
$("#number").change(function(){
$("#show").text($("#number").val());
})
$("#number").val(result).change();