在按钮单击时更改在datagrid的数据模板内定义的textBox中的文本

时间:2013-02-26 08:57:41

标签: c# silverlight

我在银光工作。 我在datagrid中有一个文本框,我的页面上有一个按钮,其功能是用括号括住所选文本。例如。让我的文本框中的文本为“Hello World”,现在当我的数据网格进入编辑模式时,我想从这个文本框中选择一些文本。让它成为“世界”。现在我选择了“世界”,当我点击按钮时,文本框中的输出应为“Hello(World)”。 但问题是当我选择文本并单击按钮时,文本框失去焦点,文本保持不变。如果我关注文本框,则不会点击按钮。

请有人建议解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用客户活动吗? 你可以看看JQuery的Caret插件: http://www.examplet.buss.hk/jquery/caret.php

// Get start position in textbox box with id="textbox1"
$("#textbox1").caret().start

// Get end position in textbox
$("#textbox1").caret().end

// Get selected text in textbox
$("#textbox1").caret().text

还有简单的Javascript解决方案:

<script language=javascript>
function getSelText()
{
var txt = '';
    if (window.getSelection)
    {
        txt = window.getSelection();
    }
    else if (document.getSelection)
    {
        txt = document.getSelection();
    }
    else if (document.selection)
    {
        txt = document.selection.createRange().text;
    }
    else return;
document.aform.selectedtext.value =  txt;
}
</script>
<form>
    <input type="button" value="Get selection" onmousedown="getSelText()"> 
    <form name=aform >
    <textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>

来源:http://www.codetoad.com/javascript_get_selected_text.asp