Javascript(jQuery)过滤表的多个条件

时间:2014-01-17 23:09:18

标签: javascript jquery filter

我正在创建一个过滤器,用于在特定位置搜索特定字符的型号。

jsFiddle - > http://jsfiddle.net/yqevU/2/

请原谅凌乱的代码:

$(document).ready(function() {

var txt, myval, loc, chk, x, z, modeltxt, mychar1, mychar2, modelchar1, modelchar2;

$('.sx').blur(function() {
    $('.sx').each(function() {
        if ($(this).val() != '') {

          if ($(this).hasClass('x1')) {
               loc = $(this).attr('data-val');
               myval = $(this).val();
              $('table.TF td:nth-child(2)').each(function() {
                    txt = $(this).text();
                    chk = txt.charAt(loc);                        
                    if (myval != chk) {
                        $(this).parent().hide();
                    } else {
                        $(this).parent().show();
                    }
                });
            } else {}


          if ($(this).hasClass('x2')) {
              loc = parseInt($(this).attr('data-val'));
              z = $(this).attr('data-tag');
              myval = $(this).val();
            $('table.TF td:nth-child(2)').each(function() {
                modeltxt = $(this).text();
                mychar1 = myval.substring(0,1);
                mychar2 = myval.slice(-1);
                modelchar1 = modeltxt.charAt(loc);
                modelchar2 = modeltxt.charAt(loc + 1);

              if (mychar1 == modelchar1 && mychar2 == modelchar2) {
                 $(this).parent().show();
              } else {
                $(this).parent().hide();
              }
            });

          } else {}



        } else {}
     });
});


});

尝试在项目#13中键入“K”。然后,过滤器将仅在该特定位置显示带有“K”的型号。

现在注意一些模型在#10项目中有一个“G”或“E” - 所以尝试在项目#10中键入“G”。该脚本什么都不做。而我需要它只在项目#10显示带有“G”的模型而在项目#13中显示“K”

我希望每次用户进行新输入时,脚本都会继续缩小模型编号


修改

仅供参考,我附加的外部脚本将表转换为带有“TF”的类,这就是来自

的地方

1 个答案:

答案 0 :(得分:0)

我明白了。对不起伙计们。

我所要做的就是删除这两行:

$(this).parent().show();

然后脚本工作。