jQuery - 在表行中查找整数值并提醒该行的第一列

时间:2015-04-09 10:13:27

标签: jquery

我已经在SO和其他媒体上搜索了我的问题,但我找不到合适的解决方案。

我需要的是在列中找到一个值(5或更大),然后提醒该行第一列的值。

我对jQuery很新,所以解决方案实际上可能很简单,但我无法弄清楚。

这是我的表格布局:

<tr class="itemRow row-0 odd" id="cartItem_SCI-1">

<td class="item-name"> Hat - Spring Collection </td>

<td class="item-price">$20.00</td>

<td class="item-decrement"><a href="javascript:;" class="simpleCart_decrement">-</a></td>

<td class="item-quantity">1</td>

<td class="item-increment"><a href="javascript:;" class="simpleCart_increment">+</a></td>

<td class="item-total">$20.00</td><td class="item-remove"><a href="javascript:;" class="simpleCart_remove">Remove</a></td></tr>

我想要做的是查找item-quantity是否等于或大于5,然后根据该项警告item-name。

2 个答案:

答案 0 :(得分:1)

JSFiddle

遍历所有行,将所有货币值转换为数字并对其进行检查。如果大于5,请找到行的名称<td>并提醒它。

<强> JS

$(document).ready(function(){
    $('.itemRow').each(function(){
        var itemprice = $(this).find('.item-price').html();
        var itemprice_format = Number( itemprice.replace(/[^0-9\.]+/g,""));
        if(itemprice_format >= 5)
            alert($(this).parent().find('.item-name').html());
    });
});

<强> HTML

<table>
    <tr class="itemRow row-0 odd" id="cartItem_SCI-1">
        <td class="item-name"> Hat - Spring Collection1 </td>
        <td class="item-price">$4.00</td>
        <td class="item-decrement"><a href="javascript:;" class="simpleCart_decrement">-</a></td><td class="item-quantity">1</td>
        <td class="item-increment"><a href="javascript:;" class="simpleCart_increment">+</a></td>
        <td class="item-total">$20.00</td><td class="item-remove"><a href="javascript:;" class="simpleCart_remove">Remove</a></td>
    </tr>
    <tr class="itemRow row-0 odd" id="cartItem_SCI-2">
        <td class="item-name"> Hat - Spring Collection2 </td>
        <td class="item-price">$20.00</td>
        <td class="item-decrement"><a href="javascript:;" class="simpleCart_decrement">-</a></td><td class="item-quantity">1</td>
        <td class="item-increment"><a href="javascript:;" class="simpleCart_increment">+</a></td>
        <td class="item-total">$10.00</td><td class="item-remove"><a href="javascript:;" class="simpleCart_remove">Remove</a></td>
    </tr>
</table>

答案 1 :(得分:0)

试试这个:您可以使用tr迭代所有.each()并比较价格和总价值(如果大于或等于5),然后在item-name中显示alert()

$(function(){
    $('#tableId tr').each(function(){
       var itemPrice = parseFloat($(this).find('.item-price').text()) || 0;
       var itemTotal = parseFloat($(this).find('.item-total').text()) || 0;
       if(itemPrice >= 5 || itemTotal >= 5)
          alert($(this).find('.item-name').text());
    });
});