PDA

View Full Version : حرکت با صفحه کلید بر روی دیتاگرید



hojjatian
یک شنبه 24 اسفند 1393, 09:16 صبح
سلام خسته نباشید
من می خواستم با استفاده از صفحه کلید از روی یک تکست باکس (با فشار دادن کلیدهای جهت نما - پایین) روی یک گرید ویو فوکوس بشم و بعد با استفاده از صفحه کلید روی سطرهای گرید ویو حرکت کنم و بازدن کلید اینتر سطر انتخاب بشه و مقدارش داخل تکست باکس نمایش داده بشه. باید چکار کنم؟ ممنون میشم که کمکم کنید. خیلی گیر کردم:گریه:

kamranetemadi
یک شنبه 24 اسفند 1393, 10:11 صبح
باید با رویداد(event)
presskey کار کنید

هم برای دکمه هم گرید

hojjatian
دوشنبه 25 اسفند 1393, 13:57 عصر
سلام مرسی. پیداش کردم.کدم اینه
$('input.selectable').keyup(function (e) {

var $grid = $('table.selectable:visible');
var $row = $grid.find('tr.selected:visible');
var iCounter = 0;
var len = $grid.find('tr:visible').length;

var index = 0;

switch (e.keyCode) {
case 40:
if ($row.length == 0) {

$grid.find('tr:visible').eq(index).addClass('selec ted').focus();
index = $grid.find('tr:visible').index($row) + 1;

}
else {

index = $grid.find('tr:visible').index($row) + 1;

if (index == len) index = 0;
$grid.find('tr:visible').removeClass('selected');
$grid.find('tr:visible').eq(index).addClass('selec ted').focus();
}
break;
case 38:
if ($row.length == 0) {
$grid.find('tr:visible').eq(index).addClass('selec ted').focus();
}
else {
index = $grid.find('tr:visible').index($row) - 1;
if (index == -1) index = len - 1;
$grid.find('tr:visible').removeClass('selected');
$grid.find('tr:visible').eq(index).addClass('selec ted').focus();
}
break;
case 13:
$(this).val($grid.find('tr.selected td:visible').eq(1).text());
if ($("#tbPart").is(":focus"))
$("#tbpartcode").val($grid.find('tr.selected td').eq(0).text());
if ($("#tbInternalTel").is(":focus"))
$("#tbiradcode").val($grid.find('tr.selected td').eq(0).text());
break;
}


});

hojjatian
دوشنبه 25 اسفند 1393, 13:58 عصر
البته ناگفته نماند که من چند تا گرید داشتم و در هر لحظه فقط یک گرید امکان نمایش داشت