Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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 JQuery自动填充表行,并选择相应的文本?_Javascript_Jquery_Html_Textselection - Fatal编程技术网

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);
});