Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 如何为单个html元素提供多个类_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何为单个html元素提供多个类

Javascript 如何为单个html元素提供多个类,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个IMS系统。在订单页面中,我必须在生成订单之前验证产品数量。为此,我使用jquery选择器比较了两个值,除非第二个字段的值小于或等于第一个字段的值,否则submit按钮将被启用,并且每当值超过它时,按钮将被禁用。(第一个字段是可用库存,第二个字段是创建订单时给定的库存)。但当我输入第二个产品验证不起作用时,此代码仅适用于第一个产品。我怎样才能把这个代码放在循环中,并且我可以检查订单中的每个产品。添加新产品时,行的id将自动递增。下面是我的代码 <td> <

我已经创建了一个IMS系统。在订单页面中,我必须在生成订单之前验证产品数量。为此,我使用jquery选择器比较了两个值,除非第二个字段的值小于或等于第一个字段的值,否则submit按钮将被启用,并且每当值超过它时,按钮将被禁用。(第一个字段是可用库存,第二个字段是创建订单时给定的库存)。但当我输入第二个产品验证不起作用时,此代码仅适用于第一个产品。我怎样才能把这个代码放在循环中,并且我可以检查订单中的每个产品。添加新产品时,行的id将自动递增。下面是我的代码

<td>
    <input type="text" name="qty[]" id="qty_1" class="form-control" disabled autocomplete="off">
    <input type="hidden" name="qty_value[]" id="qty_value_1" class="form-control" autocomplete="off">
   </td>
  <td><input type="text" name="aqty[]" id="aqty_1" class="form-control" required onkeyup="getTotal(1)"></td>

Javascript

<script type="text/javascript">
   $('#qty_value_1,#aqty_1').on('keyup', function() {
                  var btn = $('button:contains("Submit")');
                  if (parseFloat($('#qty_value_1').val()) >= parseFloat($('#aqty_1').val())) {
                      btn.prop('disabled', false);
                  } else {
                      btn.prop('disabled', true);
                  }
              })
</script>

$(“#数量#值#1,#质量#1”)。在('keyup',function()上{
var btn=$('button:contains(“Submit”));
if(parseFloat($('#qty_值_1').val())>=parseFloat($('#qty_1').val()){
btn.道具(“禁用”,错误);
}否则{
btn.道具(“禁用”,正确);
}
})
我的主要目的是在生成订单之前检查每个产品的数量

您可以在html中使用多个类一个div或


您需要使用CSS属性选择器。它使用方括号。对于您的案例,您需要选择以aqty开头的
id
-s,因此您必须将选择器定义为
[id^=“aqty”]

您的脚本可能如下所示


var btn=$('button:contains(“Submit”));
$('[id^=“aqty_”]')。在('keyup',function()上{
变量qty_val=$(this).closest('tr').find('[id^=“qty_value_']);
if(parseFloat(qty_val.val())>=parseFloat($(this.val())){
$(this.removeClass(“warn”);
}否则{
$(此).addClass(“警告”);
}
btn.prop('disabled',$('warn').length);
});
由于您有多个商品要填写订单,所以您必须关注只有在所有订单数量不超过存储值时才启用按钮。因此,好的方法是定义类,即
.warn
,它将错误的字段值签名。 脚本的最后一步必须是使用class
.warn
检查元素数组的长度。如果此长度大于零,则某些值超过其限制,否则所有输入都正常,提交按钮变为启用


看看链接的工作原理:

我试过了,但不起作用。我试过了,但不起作用。如果你有这个例子,我怎么能使用多个类?请给出你的意思是这样说的?你的代码中似乎有一些混乱的逻辑。第一个注意事项-您尝试使用
id=“qty\u value\u 1”
处理隐藏输入的事件
keyup
。为什么?第二个-对于
id=“aqty\u 1”
调用inline
getTotal(1)
,然后在上调用handler
('keyup'…
在脚本中。请解释并给出答案,这只是验证账单中的第一个产品数量,如果第二个产品数量大于股票比我还能够生成我不想要的订单。所以请澄清IF语句的条件。只需描述一个逻辑,然后将其放入代码中为什么类在我的代码中不工作(class=“qtys form control”),如果条件已经存在,我会放入IF(parseFloat($('.qtys').val()>=parseFloat($('.aqtys').val()){btn.prop('disabled',false);}else{btn.prop('disabled',true);}
<div class="container classname classname classname">

</div>