2017-01-01 5 views
1

У меня возникла проблема с этим условием. «(Numofeggs < totalalsm)» в условии выполняется только. В противном случае все переменные (кроме «numofeggs < totalsm») не являются функциональными. Есть ли способы сделать что-то?Выполнение условия if-else внутри сценария ajax

$(document).ready(function() { 
    displayDataSM(); 
    displayTotaleggs(); 
    $("#btn-input").click(function() { 
    var numofeggs = $("#numofeggs").val(); 
    var size = $("#size").val(); 
    var price = $("#price").val(); 
    var farmername = $("#farmername").val(); 
    var totalsm = "<?php echo $totalSmall ?>"; 

    if ((numofeggs < totalsm) && (size && price && farmername)) { 
     $.ajax({ 
     url: "ajaxeggsout.php", 
     type: "POST", 
     async: false, 
     data: { 
      "btn-input": 1, 
      "numofeggs": numofeggs, 
      "size": size, 
      "price": price, 
      "farmername": farmername 
     }, 
     success: function(data) { 
      displayDataSM(); 
      displayTotaleggs(); 
      $("#numofeggs").val(''); 
     } 
     }) 
    } 
    return false; 
    }); 
}); 
+0

если ((numofeggs 0 && price> 0 && farmername.length> 0)) – Satya

+0

Из моей программы (numoffeggs

+0

@Satya '0' и' '' 'являются значениями ложности в JS. – Barmar

ответ

2

Вам необходимо преобразовать ваши данные в номера. Номер 0 является ложным, но строка "0" является правдивой. И когда вы делаете сравнение с <, цифры работают иначе, чем строки (например, 5 < 12 - это правда, но "5" < "12" является ложным).

Для ввода используйте Number(), чтобы преобразовать их в номера. А для переменной, которая исходит из PHP, не помещайте ее в кавычки.

Так что:

var numofeggs = Number($("#numofeggs").val()); 
var size = Number($("#size").val()); 
var price = Number($("#price").val()); 
var farmername = $("#farmername").val(); 
var totalsm = <?php echo $totalSmall ?>; 
+0

Когда я удаляю меньше, чем знак «<», он работает. Но условие (numofeggs

+0

Где я должен поставить это условие (numofeggs

+0

Смотрите мой обновленный ответ, вам нужно преобразовать больше вещей в числа. – Barmar

Смежные вопросы