Javascript&;jquery:无法在表单中递增

Javascript&;jquery:无法在表单中递增,javascript,jquery,forms,increment,Javascript,Jquery,Forms,Increment,我得到了一个简单的增量函数,如下所示: $(function(){ $("#inc").click(function(){ var value = parseInt($(":text[name='ice_id']").val()) + 1; $(":text[name='ice_id']").val(value); }); $("#dec").click(function(){ var value = parseInt(

我得到了一个简单的增量函数,如下所示:

  $(function(){
    $("#inc").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) + 1;
        $(":text[name='ice_id']").val(value);
    });
    $("#dec").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) - 1;
        $(":text[name='ice_id']").val(value);
    });
});
ice_id文本字段嵌入到表单中

<form id="masterSubmit" name="masterSubmit" action="" method="post">
     <td><input id="ice_id" type="text" name="ice_id" size="16" maxlength="15"></td>
</form>

当我现在尝试递增时,它成功递增一个数字,但显示以下奇怪的行为: 它“刷新”站点,这样文本字段的内容就消失了。如果我注释掉表单标记,这种行为就会消失……不幸的是,表单标记是AJAX提交所必需的

有没有办法避免这个问题

提前感谢您的任何提示和建议 致意


Daniyal

只需执行一个
返回false

$(function(){
    $("#inc").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) + 1;
        $(":text[name='ice_id']").val(value);
        return false;
    });
    $("#dec").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) - 1;
        $(":text[name='ice_id']").val(value);
        return false;
    });
});
您还可以改进代码以:

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

        $(":text[name='ice_id']").val(function(index, value) { return value++; });
        return false;

    });
    $("#dec").click(function(){

        $(":text[name='ice_id']").val(function(index, value) { return value--; });
        return false;

    });
});

只需执行一个
返回false

$(function(){
    $("#inc").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) + 1;
        $(":text[name='ice_id']").val(value);
        return false;
    });
    $("#dec").click(function(){
        var value = parseInt($(":text[name='ice_id']").val()) - 1;
        $(":text[name='ice_id']").val(value);
        return false;
    });
});
您还可以改进代码以:

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

        $(":text[name='ice_id']").val(function(index, value) { return value++; });
        return false;

    });
    $("#dec").click(function(){

        $(":text[name='ice_id']").val(function(index, value) { return value--; });
        return false;

    });
});

您也可以试用。我就是为了这个目的而设计的。除了“inc”和“dec”元素外,您还可以将键盘(U/D箭头)和鼠标滚轮支持添加到表单输入元素中

您还可以试用。我就是为了这个目的而设计的。除了“inc”和“dec”元素外,您还可以将键盘(U/D箭头)和鼠标滚轮支持添加到表单输入元素中

效果完美。非常感谢!但是你能解释一下为什么“return false”会导致之前奇怪的行为(甚至是这种行为是如何触发的)被移除吗?最好的问候DaniyalI怀疑你正在使用锚或其他可以导航页面的东西。通过“return false”,您将停止页面导航。。。。对不起,我把你弄糊涂了……:)不太擅长解释……检查;)japp,确实有一个锚,它被用于“手风琴”系统。谢谢你的解释,很好用。非常感谢!但是你能解释一下为什么“return false”会导致之前奇怪的行为(甚至是这种行为是如何触发的)被移除吗?最好的问候DaniyalI怀疑你正在使用锚或其他可以导航页面的东西。通过“return false”,您将停止页面导航。。。。对不起,我把你弄糊涂了……:)不太擅长解释……检查;)japp,确实有一个锚,它被用于“手风琴”系统。谢谢你的解释。非常感谢,并对迟来的回复表示歉意。由于一些健康问题,我现在回来了:)非常感谢,并对迟来的回复表示歉意。由于一些健康问题,我现在回来了:)