javascript - 如何检查一个值是否大于另一个值

标签 javascript php jquery

我在 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>

如何更改此代码以检查所有值?

最佳答案

您的代码中不能多次使用相同的 ID。所以 checkboxinput ID 必须不同。我将输入 ID 重命名为 inputXX 。您也可以用更好的方式编写选择器。

fiddle

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);
        }
    });
	console.log(keys);
	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>

关于javascript - 如何检查一个值是否大于另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505294/

相关文章:

php - 两个参数应具有相同数量的元素

javascript - 将 JSON 对象转换为数组?阅读说明

php - PHP MYSQL 中的 SUM 和循环

javascript - 使用JS改变样式

PHP 和 Javascript 计数定时器

jquery - 如何在单击时切换选中/未选中状态时更改复选框标签的颜色

javascript - 做改变并保存 Jquery PHP

javascript - 何时更喜欢 JSON 而不是 XML?

javascript - 如何在鼠标悬停时定位图像 d3.js

javascript - 将 Repeater Container.ItemIndex 传递给 Javascript 函数