PDA

View Full Version : تغییر Selectionیک لیست باکس با وارد کردن کاراکتر در تکس باکس



jannati
چهارشنبه 25 آبان 1384, 11:27 صبح
با سلام به دوستان عزیز
من یک لیست باکس در برنامه ام طراحی کردم که از طریق جدول اطلاعاتی پرمیشود.میخواهم وقتی کاراکتری را در یک تکس باکس وارد میکنم،Selection(خط انتخاب) لیست باکس روی اولین خطی که با این کاراکتر شروع میشود قرار گیرد.مثلا وقتی در تکس باکس 1 وارد میشود اولین عددی که با 1 شروع میشود انتخاب شود.درASP.net همچین چیزی هست؟

Behrouz_Rad
چهارشنبه 25 آبان 1384, 20:27 عصر
دوست عزیز!
مطمئنا می دونید که کاری که قصد انجامش رو دارید، Client-Side است و مربوط به بخش HTML و جاوا اسکریپت خواهد شد نه بخش برنامه نویسی Server-Side!!!
به هر حال...
به راحتی با جاوا اسکریپت می تونید این کار رو انجام بدید.
تابع مورد نیاز را برای شما نوشتم.


<script language="javascript">
function searchAction()
{
var srch = document.Form1.myTextBoxName.value;
menuLength = eval("document.Form1.myDropDownName.length");
srch = srch.toUpperCase();
for (var i = 0; i < menuLength; i++) {
myvar = eval("document.Form1.myDropDownName.options[" + i + "].text.toUpperCase()");
if (myvar.indexOf(srch) >= 0) {
document.Form1.myDropDownName.options[i].selected = true;
break;
}
}
}
</script>

اگر از کنترل TextBox خود ASP.NET استفاده می کنید، در روال Page_Load، رویداد onkeyup را به TextBox خود اضافه کنید.


myTextBox.Attributes.Add("onkeyup", "searchAction();")

در غیر اینصورت (اگر از HTML Input Box استفاده می کنید)، روال onkeyup را به صورت دستی در فایل aspx به HTML Input Box اضافه کنید.
موفق باشید.