整體思路是這樣,當文本框的值改變時觸發事件,對列表中原有的值進行過濾。
根據這個思路,首先需要解決的無非是確定文本框的什麼事件可以滿足要求,當時第一個想到的是onkeydown或者onkeypress,在試的過程中發現再輸入中文時,無法響應,因為輸入方會將焦點給屏蔽了。在網上尋覓了一會發現onpropertychange事件為改變文本屬性時就會出發,所以當文本框輸入數據的時候其實是在改變文本框的value屬性。而且中文也可以滿足,本以為大功告成,最後才發現這個事件為IE的專屬事件,其他的浏覽器並沒有該事件。而對應的oninput則可以滿足需求。
具體的實現是,文本框,隱藏按鈕,當在文本框輸入內容時,調用onpropertychange或oninput事件,在這個事件中找到隱藏的按鈕,然後出發他的click事件,這樣我們只需要在後台隱藏按鈕的click事件中去過濾列表數據(當然前面的出發隱藏按鈕的事件是用javascript來做的,需要注意的就是在前台獲取服務端控件的ClienID)腳本代碼如下:
復制代碼 代碼如下:
<script type="javascript/text" language="javascript">
function btnClick()
{
var btnID = "<%=this.btnSearch.ClientID%>";
var btnObject = document.getElementID(btnID);
if(btnObject)
{
btnObject.click();
}
}
</script>