搜索功能(禁用)输入字段

时间:2016-11-11 08:44:18

标签: javascript html

我在信息表上使用了一个简单的搜索功能,但由于我将表格中的文本转换为可编辑字段,因此搜索功能不再起作用。

我试图以几种不同的方式对其进行故障排除,但似乎无法使其正常工作。

这是我到目前为止所得到的:

WITH minmaxdate AS
   (SELECT 
       NEXT_DAY (TRUNC (SYSDATE, 'YEAR') + 7 * 1 - 8,'SATURDAY') AS minbk,
       NEXT_DAY (TRUNC (SYSDATE, 'YEAR') + 7 * ((4 - MOD (78, 4) + 78) + 78) - 8,'SATURDAY') AS maxbk
    FROM dual)
SELECT item, loc, startdate, sku_exp.bucket_size,
    MAX(upexp.sku_multiplier) OVER (PARTITION BY item, loc) max_sm
FROM stsc.u_promo_sku_expand sku_exp
    JOIN stsc.u_promo_upload_expand upexp USING (item, loc, u_country)
    CROSS JOIN minmaxdate
WHERE sku_exp.bucket_size = 4
    AND sku_exp.startdate BETWEEN minmaxdate.minbk AND minmaxdate.maxbk
    AND (
        eff BETWEEN minmaxdate.minbk AND minmaxdate.maxbk+6 
        OR (eff <= minmaxdate.minbk AND disc >= minmaxdate.maxbk+6)
        OR disc BETWEEN minmaxdate.minbk AND minmaxdate.maxbk+6
    );

这在简单的纯文本表上运行得很好。这是一个JSFiddle,它向您展示我想要完成的任务:

https://jsfiddle.net/je9mc9jp/8/

2 个答案:

答案 0 :(得分:4)

//SEARCH
var $rows = $('.list input');
$('#search').keyup(function() {
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();

    $rows.show().filter(function() {
        var text = $(this).val().replace(/\s+/g, ' ').toLowerCase();
        return !~text.indexOf(val);
    }).hide();
});

答案 1 :(得分:0)

与我的一位朋友在这个问题上稍微深入一点,我们设法得到了我们想要的工作。

鲍勃的答案没问题,但问题是它不会返回整行结果。只是您搜索的特定术语!

这对我有用:

var $rows = $('.list .edit');
$('#search').keyup(function() {
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
        $rows.parents("tr").hide()
    var x = $rows.show().filter(function() {
        var text = $(this).val().replace(/\s+/g, ' ').toLowerCase();

        if(text.indexOf(val) > -1)
            return $(this);
    });     

    $(x).each(function(){
        $(this).parents("tr").show();
    });
});

JSFiddle demo