jQuery - 如果任何单元格包含X和Y之间的值,则删除表格行

时间:2016-03-15 17:07:21

标签: javascript jquery

我试图根据邮政编码显示/隐藏商店列表。 数据通过php在WP站点上加载,我正在尝试创建一个脚本,我可以根据用户对区域的选择来隐藏/显示商店。 为此,我需要在例如商店之间展示带有邮政编码的商店。 8000和9000, 所有其他商店都是隐藏的。

我试过这个,但无济于事。

$("#prices td").each(function() { 
    if ($(this).val() >= 8000 && $(this).val() <= 9000){
        $(this).parent().hide();
};

Here's a picture of the table

这里是表格后面的PHP片段(已编辑,以减小尺寸)

<tbody>
<?php foreach( $results as $result ){ ?>
<tr data-id="<?php echo esc_attr( $result->feed_id ) ?>">
    <td>
        <?php echo wp_get_attachment_image( $result->store_logo, 'full' ) ?>
    </td>
    <td class="price">
        <?php echo compare_format_currency_number( $result->price ) ?>
    </td>
    <td>
        <?php echo $result->store_zipcode ?>
    </td>
        <?php endif; ?>                             
</tr>
<?php }?>
</tbody>

目前,只有两家商店,但会增加更多商店,我需要根据选定的邮政编码范围显示/隐藏它们,这些邮政编码范围是按钮预定义的。

关于如何在更改区域时平滑地创建显示/隐藏行的转换的建议也将受到赞赏。

感谢。

1 个答案:

答案 0 :(得分:1)

这对我来说似乎很好: https://jsfiddle.net/y3llowjack3t/aj7rfk0m/

HTML:

<table>
    <tr>
        <td><input id="prices0" /></td>
    </tr>
    <tr>
        <td><input id="prices1" /></td>
    </tr>
    <tr>
        <td><input id="prices2" value="8001"/></td>
    </tr>
    <tr>
        <td><input id="prices3" /></td>
    </tr>
</table>

JQuery的:

$("input[id^=prices]").each(function() { 
    if ($(this).val() >= 8000 && $(this).val() <= 9000){
        $(this).parent().hide();
    }
});

如果您不使用输入,则另一种方式: https://jsfiddle.net/y3llowjack3t/aj7rfk0m/1/

$("td[id^=prices]").each(function() { 
    if (parseInt($(this).text()) >= 8000 && parseInt($(this).text())<= 9000) {
        $(this).parent().hide();
    }
});

或:

$("td[id^=prices]").each(function() { 
    if ($(this).text() >= 8000 && $(this).text() <= 9000){
        $(this).parent().hide();
        }
});