2016-11-09 2 views
1

У меня есть некоторые проблемы с этой проверкой в ​​jQuery.Как проверить, превышает ли одно значение значение другого

Проблема:

Я динамически генерироваться таблицу. В этой таблице у меня много строк. В каждой строке у меня есть флажок и ввод. Если вход не пуст, флажок установлен автоматически при размытии ввода.

например. У меня есть два заполненных ввода с некоторыми значениями и флажки также отмечены. Я хочу проверить, больше ли значение ввода, чем какое-то значение.

Код:

$("#btn_send_order") 
    .on("click", function(){ 

    var keys = new Array(), 
     array = new Array(); 

    $(':checkbox[class="send_vacc checkbox"]:checked').each (function() 
    { 
    if (parseInt($("input[id='"+this.id+"'].sended_cnt").val()) > parseInt($("input[id='"+this.id+"'].sended_cnt").attr("class").split(" ")[2])) 
    { 
     return false; 
    } 
    else 
    { 
     array.push($("input[id='"+this.id+"'].sended_cnt").val()); 
     keys.push(this.id); 
    } 
    }); 
}); 

Итак, у меня есть значение, которое вводится на вход и второе значение, я получаю от своего класса, который формируется из PHP-скрипта.

Код выше работает только если первый вход имеет большее значение, то его класс значение (я проверить этот код на две строки таблицы)

<tbody> 
    <tr style="text-align: center; background-color: pink;" class="rek888889" id="76"> 
     <td>1</td> 
     <td>ser5555778</td> 
     <td>test_vaccine98</td> 
     <td>74/<input type="text" id="76" name="sended_cnt" class="sended_cnt rek888889 74" maxlength="3"></td> 
     <td>31.10.2026</td> 
     <td>rek888889</td> 
     <td><input class="send_vacc checkbox" id="76" type="checkbox"></td> 
    </tr> 
    <tr style="text-align: center; background-color: pink;" class="rek123" id="1"> 
     <td>2</td> 
     <td>ser1098</td> 
     <td>test_vaccine_1</td> 
     <td>600/<input type="text" id="1" name="sended_cnt" class="sended_cnt rek123 600" maxlength="3"></td> 
     <td>13.10.2025</td> 
     <td>rek123</td> 
     <td><input class="send_vacc checkbox" id="1" type="checkbox"></td> 
    </tr> 
</tbody> 

Как я могу изменить этот код, чтобы проверить все значения?

+0

Благодарность за подправить. Не могли бы вы быть более ясными о том, что не удается или что должно произойти, но этого не происходит? Ваш код выглядит жизнеспособным для вашего описания, поэтому я стараюсь понять, что у вас есть. –

ответ

2

У вас не может быть одинаковых ID более одного раза в вашем коде. Таким образом, checkbox и input ID должны быть разными. Я переименовал идентификаторы ввода в inputXX. Кроме того, вы могли бы написать свои селекторы гораздо лучше.

скрипку

https://jsfiddle.net/ergec/juney6mq/

сниппет

$("#btn_send_order").on("click", function() { 
 
    var keys = new Array(), 
 
     array = new Array(); 
 
    $('.send_vacc.checkbox:checked').each(function() { 
 
     if (parseInt($("input[id='input" + this.id + "'].sended_cnt").val()) > parseInt($("input[id='input" + this.id + "'].sended_cnt").attr("class").split(" ")[2])) { 
 
      return false; 
 
     } else { 
 
      array.push($("input[id='input" + this.id + "'].sended_cnt").val()); 
 
      keys.push(this.id); 
 
     } 
 
    }); 
 
\t console.log(keys); 
 
\t console.log(array); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
     <tr style="text-align: center; background-color: pink;" class="rek888889" id="76"> 
 
      <td>1</td> 
 
      <td>ser5555778</td> 
 
      <td>test_vaccine98</td> 
 
      <td>74/
 
       <input type="text" id="input76" name="sended_cnt" class="sended_cnt rek888889 74" maxlength="3"> 
 
      </td> 
 
      <td>31.10.2026</td> 
 
      <td>rek888889</td> 
 
      <td> 
 
       <input class="send_vacc checkbox" id="76" type="checkbox"> 
 
      </td> 
 
     </tr> 
 
     <tr style="text-align: center; background-color: pink;" class="rek123" id="1"> 
 
      <td>2</td> 
 
      <td>ser1098</td> 
 
      <td>test_vaccine_1</td> 
 
      <td>600/
 
       <input type="text" id="input1" name="sended_cnt" class="sended_cnt rek123 600" maxlength="3"> 
 
      </td> 
 
      <td>13.10.2025</td> 
 
      <td>rek123</td> 
 
      <td> 
 
       <input class="send_vacc checkbox" id="1" type="checkbox"> 
 
      </td> 
 
     </tr> 
 
    </tbody> 
 
</table> 
 
<button id="btn_send_order">Send Order 
 
</button>

+0

нормально, я попробую это leter, спасибо =) – vladimir

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