在用户在文本框'#DocId'
中输入过滤字符串后,我的函数会调用部分视图。当用户完成键入时,将显示具有过滤数据的局部视图。由于我的文本框需要位于局部视图中,当用户输入过滤字符串并显示过滤后的数据时,文本框将被重置,用户输入的数据将丢失。在显示部分视图后,如何将文本框的值设置回用户输入的字符串?
我很确定我需要使用.val()
,但我似乎无法让它发挥作用。
$(function() {
$('#DocId').live('keyup', function() {
clearTimeout($.data(this, 'timer'));
var val = $(this).val();
var wait = setTimeout(function() { $('#tableContent').load('/CurReport/TableResults', { filter: val }, 500) }, 500);
$(this).data('timer', wait);
});
});
谢谢,
亚伦
答案 0 :(得分:2)
您可以存储ID,然后调用该选择器并将值设置回来,如下所示:
$(function() {
$('#DocId').live('keyup', function() {
clearTimeout($.data(this, 'timer'));
var val = $(this).val(), id = this.id;
var wait = setTimeout(function() {
$('#tableContent').load('/CurReport/TableResults', { filter: val });
$("#" + id).val(val);
}, 500);
$(this).data('timer', wait);
});
});
或者,由于您要将过滤器传递给服务器,让服务器在渲染局部视图时填充它,这可能是一种更直接的方法。