【问题标题】:How to Select particular text in textbox while textbox receives focus如何在文本框获得焦点时选择文本框中的特定文本
【发布时间】:2014-03-03 12:24:55
【问题描述】:

我正在使用 VB 代码开发一个 ASP.NET 应用程序。我有一个文本框来保存金额,其中包含默认值为“0.00”。现在的问题是,当文本框获得焦点时,它会选择所有文本。但我只想选择精度之前的 0,我不想在精度之后选择。

希望有人能帮助我。提前致谢

【问题讨论】:

  • 在 ASP.NET 中没有这样的功能和控制。您可以创建自己的 UserControl 来封装逻辑。例如,您可以并排使用两个TextBoxes,或者您需要摆弄javascript。
  • 感谢您的评论。请建议我除 javascript 之外的其他方法。

标签: javascript asp.net vb.net selection


【解决方案1】:

假设你有TextInput,你想选择它的第一个字符,只要它被选中

<input id="MyText" type="text" value="text" onclick="MyText_click()" />

脚本是这样的:

<script>

    function MyText_click() {

        var input = document.getElementById("MyText");
        createSelection(input, 0, 1); // first character
    };

    function createSelection(field, start, end) {
        if (field.createTextRange) {
            var selRange = field.createTextRange();
            selRange.collapse(true);
            selRange.moveStart('character', start);
            selRange.moveEnd('character', end);
            selRange.select();
            field.focus();
        } else if (field.setSelectionRange) {
            field.focus();
            field.setSelectionRange(start, end);
        } else if (typeof field.selectionStart != 'undefined') {
            field.selectionStart = start;
            field.selectionEnd = end;
            field.focus();
        }
    }

</script>

【讨论】:

  • 我只是从这里复制function [以编程方式在输入字段中选择部分文本] (stackoverflow.com/questions/646611/…) 已经评论,并从onclick处理程序调用它
  • 非常感谢它有效。相反 onclick 我可以使用 onfocus 吗?因为我想选择 while tab 事件。
  • 是的,您可以从任何可以编写 javascript 的地方调用 javascript 函数,如果帖子对您有用,请投票,如果它们是您的答案,请将其作为答案,以便其他人看到您的帖子
  • 嗨,我还有一个疑问。例如,如果我有以下值 5000.00 , 250000.00, 100.00 现在我想选择精度之前的值。如何计算精度前的数字长度?
  • 你可以这样做,regular expressionindexOf... 目前我无法得到准确的答案,抱歉
【解决方案2】:

为文本焦点创建事件

现在我们有两个属性

   txt.SelectionStart = intValue

  txt.selectionLength = length;

使用此属性来解决您的问题

【讨论】:

  • 感谢您的回复。 SelectStart 和 SelectionLength 仅在 Windows 窗体应用程序中可用。我的文本框是网络控制。所以这些属性没有显示在我的智能中。有没有其他方法可以解决这个问题?
【解决方案3】:

您可以使用javascript 以编程方式执行此操作,请参阅:Programmatically selecting partial text in an input field

【讨论】:

  • 感谢您的回复。这在 window.onload 中有效,我不想以这种方式执行。我想在选项卡事件或鼠标单击事件中执行此选择。
  • !!!您可以复制并粘贴function 确实选择,并在您想要的任何地方调用它,参加我的下一个答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多