如何使用jQuery

时间:2019-01-26 05:48:54

标签: jquery

我有HTML输入名称“ sectoral_txt ”,上面带有正则表达式。

<input type="text" name="sectoral_txt" class="numberwithdecimals">

jQuery,其类名为“ 带小数的数字

const format = (str) => (""+str)                                            
                                                    .replace(/[^\d.-]|(?!^)-/g, "")
                                                    .replace(/^([^.]*\.)(.*$)/, (_, g1, g2) => g1 + g2.replace(/\./g, ''))
                                                    .replace(/\.(\d{2})\d+/, '.$1')
                                                    .replace(/\B(?=(\d{3})+(?!\d))/g, ",")              
        const parse = (str) => str
                                        .replace(/,/g,'')
                                        .replace(/^([^.]*\.)(.*$)/, (_, g1, g2) => g1 + g2.replace(/\./g, ''));

        $('input.numberwithdecimals').keyup(function(event) 
        {
            if (event.which >= 37 && event.which <= 40) return;
            $(this).val((i,v) => formatCurrency(v));
        });

当我在上面的输入字段中输入数字时,该值将确定等级。索引0将<= 4.70,索引1直到5在范围内,索引6将> = 21.00。评分的类别名称是( check_rtg ),部门比率是( check_rto

Rating (check_rtg)          Sectoral Ratio (check_rto)

AAA                         4.70
AAA                         6.30
A                           9.10
BBB                         12.50
BB                          17.70
B                           19.60
CCC                         21.00

我想检查给定的值并使用jQuery显示评分。例如,如果我输入10.00,则“评分”将为BBB,因为它介于12.50和9.10之间

这是我当前在jQuery中的代码:

$("#sectoral_txt").keyup(function() {

            var selected    = parse( $(this).val() );

            if($('#sectoral_txt').val() == '')
            {
                alert('Empty Field');
            }
            else
            {
                var rating = 0;
                $('.check_rto').each(function(index) 
                {
                    var sectoral_ratio  = parse( $(this).val() );

                    // Index 0
                    if( selected <= sectoral_ratio )
                    {               
                        rating = $(".check_rtg").eq(index).val();
                    }

                    // Index 1 until 5
                    else if( selected >= sectoral_ratio && selected < sectoral_ratio )
                    {
                        rating = $(".check_rtg").eq(index).val();
                    }

                    // Index 6
                    else if( selected >= sectoral_ratio )
                    {
                        rating = $(".check_rtg").eq(index).val();
                    }
                    else
                    {
                        console.log('error');
                    }
                }); 
            }
        });

但是我下面的代码始终执行“索引6”。有人可以帮我解决这个问题吗?提前致谢。

0 个答案:

没有答案