Javascript 根据输入回路范围更改显示

Javascript 根据输入回路范围更改显示,javascript,jquery,Javascript,Jquery,我有一个产品清单,其中一些有批量折扣表。 我想显示表格,而不是价格,然后突出显示正确的条目。 我正在处理的代码不一致,调试值都是正确的。if语句似乎不正确。 也许有一个更好的解决方案来循环范围 jQuery文档.readyfunction${ $document.on'change','批量折扣数量输入',函数{ var bd_field_v=$this.val; var bd_table=$this.parents.find'.bulk折扣'; $bd_table.find'.批量折扣from

我有一个产品清单,其中一些有批量折扣表。 我想显示表格,而不是价格,然后突出显示正确的条目。 我正在处理的代码不一致,调试值都是正确的。if语句似乎不正确。 也许有一个更好的解决方案来循环范围

jQuery文档.readyfunction${ $document.on'change','批量折扣数量输入',函数{ var bd_field_v=$this.val; var bd_table=$this.parents.find'.bulk折扣'; $bd_table.find'.批量折扣fromto'.每个函数{ //撤消上一个突出显示 $this.css'background-color','transparent'; //调试值 控制台。记录“当前金额:”+bd_字段_v; console.log'data-bulk-discount-from:'+$this.attr'data-bulk-discount-from'; console.log'data-bulk-discount-to:'+$this.attr'data-bulk-discount-to';
如果bd_field_v>=$this.attr'data-bulk-discount-from'&&bd_field_v代码中有两个问题

若条件匹配,则返回false,这意味着循环并没有在每个元素上运行,并且不会将背景颜色更改为对每个元素透明。 e、 g.若第二个条件满足循环退出,并且不会将背景更改为对第三和第四个元素透明

为了克服这个问题,我将背景设置为循环

您必须将所有数字转换为整数,目前它们是字符串,在字符串中,您的计算将不起作用。 我使用Numbervalue将它们转换为整数

jQuerydocument.readyfunction${ $document.on'change','批量折扣数量输入',函数{ var bd_field_v=$this.val; var bd_table=$this.parents.find'.bulk折扣'; $bd_table.find'.bulk折扣fromto'.css'background-color','transparent'.eachfunction{ //调试值 控制台。记录“当前金额:”+bd_字段_v; console.log'data-bulk-discount-from:'+$this.attr'data-bulk-discount-from'; console.log'data-bulk-discount-to:'+$this.attr'data-bulk-discount-to'; 如果Numberbd\u field\u v>=Number$this.attr'data-bulk-discount-from'&&Numberbd\u field\u v.thead{ 显示:表头组; } .显示表格>.thead>.row{ 显示:表格行; } .显示表格>.thead>.row>.col{ 显示:表格单元格; 边框:1px000; } .display table>.tbody{ 显示:表格行组; } .显示表格>.tbody>.row{ 显示:表格行; } .显示表格>.tbody>.row>.col{ 显示:表格单元格; 边框:1px000; } 1. 2-6 7-10 11+ 49€ 39€ 35€ 32€ 数量
非常感谢。我怀疑字符串/int问题,但不知道如何解决。我使用return false在找到时停止循环。谢谢,它可以工作,但您知道为什么11+是标准高亮显示的吗?何时?在首次加载页面时?是的,它应该标准高亮显示1检查html。您已经在第四个元素上指定了背景颜色。也许您应该这样做我所做的是将所有代码封装在一个函数中。在document.ready和change event上调用该函数。哦,该死,这是因为我从inspector复制了html,而发布的js已经触发。非常感谢!