查找单元格内容是否出现多次

时间:2011-09-12 09:58:17

标签: javascript jquery

我有一个如下所示的表格主体:

<tbody>
    <tr class="basket_main">
        <td class="basket_item">
            <input type="text" class="basket_qty_txt" id="ctl00_ctl00_main_body_content_main_content_area_shopping_basket_ctl01_txt_qty_162" value="3" name="ctl00$ctl00$main_body_content$main_content_area$shopping_basket$ctl01$txt_qty_162">                    
        </td>
        <td class="basket_item prod_code" id="ctl00_ctl00_main_body_content_main_content_area_shopping_basket_ctl01_prod_code_col">
            CSM160
        </td>

        <td class="basket_item">
            SIL.MTG:RENAULT R19 1988 ON
        </td>

        <td class="basket_item max_qty">
            5
        </td>

        <td class="basket_item">
            <input type="button" class="basket_item_button">
            <input type="button" class="basket_item_button">
        </td>
    </tr>
</tbody>

这个表中可能有很多行,我试图找出的是prod_code是否使用javascript或jquery出现在表中的多行中。

3 个答案:

答案 0 :(得分:2)

遍历表格单元格并收集数据。

现场演示 http://jsfiddle.net/kEAzB/6/

var items = {};

$('tr td.basket_item.prod_code').each(function(){
    var value = $(this).text();
    if (items[value] == undefined) {
        items[value] = 0;
    }
    items[value] += 1;
});

for (key in items) {
    alert(key + ":" +items[key]);
}

答案 1 :(得分:0)

您可以扫描所有表格行,将product codes存储在关联数组中(即productCodes并检查是否已定义相同的product code

var productCodesTds = document.getElementsByClassName("prod_code"),
    productCodes = Object.create(null),
    max,
    i;

for (i = 0, max = productCodesTds; i < max; i += 1) {
   productCode = productCodesTds[i].innerText;

   if (productCode in productCodes) {
       // the productCode is already defined in an other td
   }
   else {
      productCodes['productCode'] = null;
   }
}

答案 2 :(得分:0)

将所有代码推送到数组

  var arr = new Array();

$('.prod_code').each(function(){

var prod_code = $(this).val();

    arr.push(prod_code);

});

对数组进行排序并检查是否存在重复值

var sorted_arr = arr.sort(); 

var results = [];
for (var i = 0; i < arr.length - 1; i += 1) {
        if (sorted_arr[i + 1] == sorted_arr[i]) {
               alert("duplicate value"+sorted_arr[i + 1]);
        }
}