Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当jquery中没有要添加的值时,如何停止在表中添加行_Javascript_Jquery_Html - Fatal编程技术网

Javascript 当jquery中没有要添加的值时,如何停止在表中添加行

Javascript 当jquery中没有要添加的值时,如何停止在表中添加行,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jquery在表中添加行,但现在我想在输入框为空时停止添加。目前,它一直在添加行,即使框是空的。我下面的代码不工作,我不知道如何停止它。谁能帮帮我吗 这是我的密码: $('#voucher-btn').click(function(e){ var scratchPan = $('#scratch-panel'), serNum = $('#serial-num'); $('#voucher-list > tbody').append('&

我正在使用jquery在表中添加行,但现在我想在输入框为空时停止添加。目前,它一直在添加行,即使框是空的。我下面的代码不工作,我不知道如何停止它。谁能帮帮我吗

这是我的密码:

$('#voucher-btn').click(function(e){
    var scratchPan = $('#scratch-panel'),
            serNum = $('#serial-num');

    $('#voucher-list > tbody').append('<tr><td>'
                                      + scratchPan.val() 
                                      +'</td><td>'+ serNum.val() 
                                      +'</td></tr>');

    if($('#scratch-panel').val() === ''|| $('#serial-num').val() === '' ){
        return false;
    }
});
HTML:


非常感谢您

在您发布的函数中,您的条件将在添加表行后进行评估。因此,即使您的条件检查发现输入为空,表行也已添加,因此没有帮助

要获得您想要的,您需要移动评估:

if($('#scratch-panel').val() === ''|| $('#serial-num').val() === '' ){
    return false;
}
…在append语句上方:

$('#voucher-list > tbody').append('<tr><td>'
                                      + scratchPan.val() 
                                      +'</td><td>'+ serNum.val() 
                                      +'</td></tr>');

实际上,您正试图阻止它,但在它已添加新行之后。应该是这样的:

$('#voucher-btn').click(function(e){
    var scratchPan = $('#scratch-panel'),
            serNum = $('#serial-num');

    if ( ! scratchPan.val().length || ! serNum.val().length  ) return; //use return false; only if you need to halt the default behavior of the element

    $('#voucher-list > tbody').append('<tr><td>'
                                      + scratchPan.val() 
                                      +'</td><td>'+ serNum.val() 
                                      +'</td></tr>');
});

我不确定我是否正确理解了这个问题,但我认为您应该在添加行之前将空支票移至

$('#voucher-btn').click(function(e){
    var scratchPan = $('#scratch-panel'),
            serNum = $('#serial-num');

    if(scratchPan.val() === ''|| serNum .val() === '' ){
        return false;
    }
    $('#voucher-list > tbody').append(
       '<tr><td>'+ scratchPan.val() +'</td><td>'+ serNum.val() +'</td></tr>');

});

我可能读错了,但在向表中添加行之前,是否应该检查输入框是否为空?如果您将空白复选框放在添加之前,并在任一输入框为空时返回,则不会添加额外的行

哦,不!不带大括号的if语句;
$('#voucher-btn').click(function(e){
    var scratchPan = $('#scratch-panel'),
            serNum = $('#serial-num');

    if(scratchPan.val() === ''|| serNum .val() === '' ){
        return false;
    }
    $('#voucher-list > tbody').append(
       '<tr><td>'+ scratchPan.val() +'</td><td>'+ serNum.val() +'</td></tr>');

});