使用 Jquery 或 Javascript 清除 OnFocus 上的 Asp.Net 文本框控件

Clear Asp.Net TextBox Control on OnFocus with Jquery or Javascript

我一直在搜索 interwebs 和 Whosebug,但我还没有找到有效的解决方案。当焦点发生时,我需要从文本框中删除默认文本。我知道它正在聚焦,因为我的 class 文本颜色也设置在那里并且颜色正在改变。这是我的代码和我尝试过的代码。

ASP:

<asp:TextBox ID="txtAddEditDel" runat="server" CssClass="txtAddEditDel" ></asp:TextBox>

默认文本是在 Page_Load 上填充的一些随机指令。

Jquery:

$(".txtAddEditDel").focus(function () {
             var selectedRoleText = $(this).find('option:selected').text();
             var selectedRoleId = $(this).find('option:selected').val();
             var selectedRoleIndex = $(this).find('option:selected').index();

            //enable add button
            enableDisableLinkButtons(true, true, true);

            if (selectedRoleText == 'Create, Edit, or Delete a Role Name.') {
                $(".txtAddEditDel:text").val('');
            }
            $(".txtAddEditDel").removeClass('placeholderText');

        });

removeClass函数被命中,但我的值没有被清除。 这是我尝试过的:

 $(".txtAddEditDel").val('');
 $(".txtAddEditDel").val("");
 $(".txtAddEditDel").text("");
 $(".txtAddEditDel").text == '';
 $(".txtAddEditDel").text == "";
 $(this).val('');
 document.getElementbyId('<%= txtAddEditDel.ClientID %'>.value = "";

$(".txtAddEditDel").val('');应该工作,假设它到达那里。您是否放置了一些调试信息来检查 if 子句是否为真?检查选项的值而不是文本可能是一个更好的主意,因为文本很容易被拼写错误或更改,根据我的经验,在这种情况下默认值将是 '' 或 0