我有一个用于按关键字进行研究的TextBox。我有复选框来过滤结果,还有一个图表来显示表格中关键字的出现。单击为其创建的按钮即可完成搜索,如果单击“输入密钥”,也可以进行搜索。问题是,如果我决定选中2个复选框并单击Enter,则不进行研究,或者如果我更改关键字并再次单击Enter,则不会生成图表的结果。每当我点击按钮或回车时,我都希望它能够工作。
我正在使用KeyDown,就像我在互联网上看到的一样,但它并没有改变任何问题,也没有错误。
我的代码:
use std::marker::PhantomData;
use std::collections::HashMap;
pub struct OrderBook<T: PriceLevel, U: PriceLadder<T>> {
levels: U,
phantom: PhantomData<T>,
}
impl<T: PriceLevel, U: PriceLadder<T>> OrderBook<T, U> {}
type HashBook = OrderBook<LinkedHashLevel, HashmapLadder<LinkedHashLevel>>;
pub trait PriceLevel {
fn new() -> Self where Self: Sized;
}
pub trait PriceLadder<T: PriceLevel> {
fn new() -> Self;
}
pub struct LinkedHashLevel {
}
impl PriceLevel for LinkedHashLevel {
fn new() -> Self {
LinkedHashLevel {}
}
}
pub struct HashmapLadder<T: PriceLevel> {
levels: HashMap<u64, T>,
}
impl<T: PriceLevel> PriceLadder<T> for HashmapLadder<T> {
fn new() -> Self {
HashmapLadder { levels: HashMap::new() }
}
}
fn main() {}
有人能帮助我吗?
答案 0 :(得分:1)
好的,我发现了问题,我没有提到我正在使用更新面板。 所以这是代码为我工作:
$('#tbSearch').keydown(function (e) {
var key = e.which;
if (key == 13) // the enter key code
{
//your code
}
});
使该代码适用于updatePanel:
//On UpdatePanel Refresh.
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
$('#tbSearch').keydown(function (e) {
var key = e.which;
if (key == 13) // the enter key code
{
// your code
}
});
}
});
};
答案 1 :(得分:0)
在您的文本框中,只需
并且它可以在没有JQuery的情况下执行您想要的操作
- &GT; autopostback:触发事件时回发到服务器
- &GT; OnTextChanged:当你离开文本框(或按回车键)时,事件被触发并转到你的搜索功能