Javascript JQuery自动填充表行,并选择相应的文本?
我前面的问题在这里,但似乎仅使用窗口和文档无法完成。我想要的是,当选择第一行的文本时,第一个输入将被填充。第二排也一样Javascript JQuery自动填充表行,并选择相应的文本?,javascript,jquery,html,textselection,Javascript,Jquery,Html,Textselection,我前面的问题在这里,但似乎仅使用窗口和文档无法完成。我想要的是,当选择第一行的文本时,第一个输入将被填充。第二排也一样 测试代码1 测试代码2 我很难弄明白你在问什么,但这能完成任务吗?当你点击“测试代码1”时,它会将输入值填入“Hello” Html: 我刚刚注意到你在上面的帖子上的评论。我认为我所做的是错误的,所以看看我在这里所做的,告诉我哪一个更接近你所需要的 我很难弄明白你在问什么,但这能完成工作吗?当你点击“测试代码1”时,它会将输入值填入“Hello” Html: 我刚刚注
测试代码1
测试代码2
我很难弄明白你在问什么,但这能完成任务吗?当你点击“测试代码1”时,它会将输入值填入“Hello”
Html:
我刚刚注意到你在上面的帖子上的评论。我认为我所做的是错误的,所以看看我在这里所做的,告诉我哪一个更接近你所需要的 我很难弄明白你在问什么,但这能完成工作吗?当你点击“测试代码1”时,它会将输入值填入“Hello” Html: 我刚刚注意到你在上面的帖子上的评论。我认为我所做的是错误的,所以看看我在这里所做的,告诉我哪一个更接近你所需要的 这是jQuery解决方案。(实际上比我想象的要容易,我一直认为元素中的选择文本不可能那么容易到达,但是…: 演示:
$('td')。在('mouseup',function()上{
if(window.getSelection){
s=window.getSelection().toString()
}
$(this).next().find('input').val(s);
});代码>
td{
填充:10px;
}
测试代码1
测试代码2
测试代码3
这是jQuery解决方案。(实际上比我想象的要容易,我一直认为元素中的选择文本不可能那么容易到达,但是…:
演示:
$('td')。在('mouseup',function()上{
if(window.getSelection){
s=window.getSelection().toString()
}
$(this).next().find('input').val(s);
});代码>
td{
填充:10px;
}
测试代码1
测试代码2
测试代码3
您正在为输入提供mouseup事件,鼠标向上移动时,将不会有任何选定的文本。(鼠标按下时也是如此)你确定吗?因为这是可行的,因为mouseup
事件在文档上,在您的示例中,是在输入上,您将mouseup事件赋予输入,在鼠标向上移动时,将不会有任何选定的文本。(鼠标按下时也是如此)你确定吗?因为这样做是可行的,因为mouseup
事件在文档上,在您的示例中,是在inputHanks上。不完全是。我希望input1仅在选择了“测试代码1”的一部分时才从第1行获取高亮显示的文本。例如,“代码1”将用代码1填充input1。第二排也是如此。您是否更清楚?@Yang在我进行更新时,请看一下我在底部添加的第二个提琴。@Yang您想要整个字符串还是只需要突出显示的文本?只需要突出显示的文本。@sinisake,我可以在简单的场景中处理这个问题。但对于每个表单元格,它都失败了。再见,谢谢。不完全是。我希望input1仅在选择了“测试代码1”的一部分时才从第1行获取高亮显示的文本。例如,“代码1”将用代码1填充input1。第二排也是如此。您是否更清楚?@Yang在我进行更新时,请看一下我在底部添加的第二个提琴。@Yang您想要整个字符串还是只需要突出显示的文本?只需要突出显示的文本。@sinisake,我可以在简单的场景中处理这个问题。但对于每个表单元格,它都失败了。看到了吗?你知道为什么当我把表格放入实际的html页面时它不工作吗@杨,没什么问题。。。错误的选择器(ui小部件是类),代码没有包装在文档准备中…等等。。。你知道为什么当我把表格放入实际的html页面时它不起作用吗@杨,没什么问题。。。错误的选择器(ui小部件是类),代码没有包装在文档准备中…等等。。。
<table>
<tr>
<td>Test code 1</td>
<td>
<input type='text' id='input1' class="selection" />
</td>
</tr>
<tr>
<td>Test code 2</td>
<td>
<input type='text' id='input2' class="selection" />
</td>
</tr>
</table>
<table>
<tr>
<td class="select">Test code 1</td>
<td>
<input type='text' id='input1' class="selection" />
</td>
</tr>
<tr>
<td>Test code 2</td>
<td>
<input type='text' id='input2' class="selection" />
</td>
</tr>
</table>
$('.select').click(function(){
$('#input1').val("hello")
})
$('td').on('mouseup',function() {
if (window.getSelection){
s = window.getSelection().toString()
}
$(this).next().find('input').val(s);
});