我在信息表上使用了一个简单的搜索功能,但由于我将表格中的文本转换为可编辑字段,因此搜索功能不再起作用。
我试图以几种不同的方式对其进行故障排除,但似乎无法使其正常工作。
这是我到目前为止所得到的:
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,它向您展示我想要完成的任务:
答案 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();
});
});