我正在尝试按一下按钮,点击他的ID和变量。 我能够在StackOverflow上找到一些增加输入字段值的代码,但我不知道从那里改变它。
这是标记:
<input type="text" name="qty" value="0" />
<p id="inc">Increase</p>
<p id="dec">Decrease</p>
和jQuery
<script>
$(document).ready(function()
{
$(function()
{
$("#inc").click(function()
{
$(":text[name='qty']").val(Number($(":text[name='qty']").val()) + 1);
$('#inc').addClass (Number + 1); // this one does not work
var incrementVar = (Number + 1); // this one also does not work
});
$("#dec").click(function()
{
$(":text[name='qty']").val(Number($(":text[name='qty']").val()) - 1);
});
});
});
</script>
这确实增加了输入中的val,但是我无法使它增加$('#inc')类和var incrementVar。
我该怎么办? 谢谢
答案 0 :(得分:5)
班级名称不能以数字see this discussion for details开头。如果你的班级前缀是.c1
,.c2
等,你可以这样做:
$(function() {
$("#inc").click(function() {
var num = $(":text[name='qty']").val(function(i, v) {
return Number(v) + 1;
}).val();
$(this).addClass ('c' + num);
var incrementVar = num;
});
$("#dec").click(function() {
$(":text[name='qty']").val(function(i, v) { return Number(v) - 1; });
});
});
还有一点需要注意:$(document).ready(function() {
和$(function() {
这些都是等价的,单独包装就可以了。
答案 1 :(得分:3)
var incrementVar = 0;
$(function() {
$("#inc").click(function() {
var value = parseInt($(":text[name='qty']").val()) + 1;
$(":text[name='qty']").val(value);
$('#inc').addClass('a' + value); // I believe class names cannot start with a number
incrementVar = incrementVar + value;
});
});
答案 2 :(得分:0)
对于此输入的其他键盘支持(向上/向下箭头添加/减去),我的Increment插件可能会派上用场:http://sean-o.com/increment
只需下载并包含脚本,然后使用一行代码调用:
$(":text[name='qty']").increment({ increment: 1 });
- SEAN O