Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用箭头键在每个td中使用输入文本浏览HTML表_Javascript_Html_Css_Asp.net_Html Table - Fatal编程技术网

Javascript 使用箭头键在每个td中使用输入文本浏览HTML表

Javascript 使用箭头键在每个td中使用输入文本浏览HTML表,javascript,html,css,asp.net,html-table,Javascript,Html,Css,Asp.net,Html Table,我有一个HTML表,每个td中都有输入文本。我正在尝试创建一个函数,允许箭头键导航我的td 我想在单击每个箭头键时突出显示所选单元格的值,就像tab的工作方式一样。这里有人知道如何做到这一点吗?多谢各位 代码您可以获得值。在重新定位功能中使用此代码: alert($('#navigate tr td').eq(active).find('input').val()); 您可以单独查找输入,并将类添加到函数重新定位()中的活动输入中 $('#navigate tr td').find('inpu

我有一个
HTML表
,每个
td
中都有输入文本。我正在尝试创建一个函数,允许箭头键导航我的
td

我想在单击每个箭头键时突出显示所选单元格的值,就像tab的工作方式一样。这里有人知道如何做到这一点吗?多谢各位


代码

您可以获得值。在重新定位功能中使用此代码:

alert($('#navigate tr td').eq(active).find('input').val());

您可以单独查找输入,并将类添加到
函数重新定位()中的活动输入中

$('#navigate tr td').find('input').removeClass('yourClassforText');
$('#navigate tr td').eq(active).find('input').addClass('yourClassforText');

// to select text inside input
$('#navigate tr td').eq(active).find('input').select();

使现代化 正如Op提到的,另一个问题是只删除选定的文本。
您需要在
keydown
事件上添加检查,如下所示:

var inp = String.fromCharCode(event.keyCode);
if (!(/[a-zA-Z0-9-_ ]/.test(inp) || event.keyCode == 96)){
    //if user is entering some text, neglect rePosition & reCalculate events
}

更新-2:

我们希望您尊重您在询问过程中得到的指导。添加到您的css:input:focus{background color:;}看起来对此的支持非常广泛@杰夫:不。我希望文本像你点击标签一样突出显示。将背景颜色更改为doh颜色。请参阅我发布的示例链接。无论如何,谢谢你的帮助。我试图做的是,当我点击箭头键时,由输入文本组成的单元格将自动选择该值,就像tab键的功能一样。但是,如果没有警报,我怎么能做到呢?我的意思是,我只想选择/突出显示文本,以便在输入新值时替换它。谢谢,不客气。这不仅仅是针对一个角色。当重新定位功能工作时,它显示值。这就是为什么,您看到的是现有的价值,而不是新的价值。在同一单元格上尝试多个。你会明白的。哦,天哪,对不起。遇到的另一个错误试图在询问您之前解决,但不知道如何解决。为什么每次输入0(零)都会清除。但文本值未选中/突出显示。我希望它能像tab键那样工作。@x'tian您可以使用Jquery中的
select()
来实现这一点。答案更新哇。正是我想要的。谢谢!但为什么只允许一个字符?每次我试图输入一个单词时,它总是只添加一个字母。@x'tian,您已经在
keydown
事件上编写了代码,因此它清除了以前的值。需要显式地分配它。顺便说一句,这可能是另一个问题。。答案更新了!哦,天哪,对不起。遇到的另一个错误试图在询问您之前解决,但不知道如何解决。为什么每次我输入0(零)它就会清除。