首页 > 解决方案 > if 语句未按预期检查值

问题描述

我有一个if语句检查是否选中了 php 复选框的值。由于某种原因,它只在if语句处停止并且不会运行else.

if如果我用 [initial]语句切换语句的规则,else我仍然只能得到if语句。

$(document).ready(function(){

    // #Loader is inside of .LoaderContainer
    $('#Loader').on('inview', function(event, isInView) { 

        if (isInView) {

            // Pagination
            var nextPage = parseInt($('#pageno').val())+1;

            //Filters
            var minimum_wt = $('#hidden_minimum_wt').val();
            var maximum_wt = $('#hidden_maximum_wt').val();
            var shape = get_filter('shape'); // A checkbox
            var color = get_filter('color'); // A checkbox
            var enhancement = get_filter('enhancement'); // A checkbox
            var matching = get_filter('matching'); // A checkbox

            $.ajax({

                type: 'POST',
                url: 'vendors/php/NextPage.php',
                data: {
                    pageno: nextPage,
                    minimum_wt: minimum_wt,
                    maximum_wt: maximum_wt,
                    shape: shape,
                    color: color,
                    enhancement: enhancement,
                    matching: matching
                },
                success: function(data){

                    if(data != '') { // if any of values inside data are NOT empty

                        $('#StoneContainer').append(data);
                        $('.LoaderContainer').show();   //Show infinite scroll
                        $('#pageno').val(nextPage);


                    } else { // if any of the values in data are empty

                        $('#StoneContainer').append(data);
                        $('.LoaderContainer').hide();   //Hide infinite scroll

                    }

                }

            });

        }

    });

});

data当我想要它里面的任何一个变量都没有价值时hide .LoaderContainer,否则我想要它show .LoaderContainer

标签: javascriptjqueryajax

解决方案


if测试应该围绕对 的调用进行,因​​此$.ajax()只有在选中任何复选框时才发送 AJAX 请求。

if (shape.length && color.length && enhancement.length && matching.length) {
  $.ajax({
    type: 'POST',
    url: 'vendors/php/NextPage.php',
    data: {
      pageno: nextPage,
      minimum_wt: minimum_wt,
      maximum_wt: maximum_wt,
      shape: shape,
      color: color,
      enhancement: enhancement,
      matching: matching
    },
    success: function(data) {

      if (data != '') { // if any of values inside data are NOT empty
        $('#StoneContainer').append(data);
        $('.LoaderContainer').show(); //Show infinite scroll
        $('#pageno').val(nextPage);
      } else { // if any of the values in data are empty
        $('#StoneContainer').append(data);
        $('.LoaderContainer').hide(); //Hide infinite scroll
      }
    }
  });
}

推荐阅读