0

我似乎无法弄清楚如何从剃刀文本框中清除文本。

我试过这个:

@Html.TextBoxFor(m => m.Field)


    $(document).ready(function () {
        $(".link").click(function () {                
            $("#Field").value = "";
            return false;
        });    
    });

没用。

4

1 回答 1

8

使用 jQuery 设置值的正确方法是使用val并传递一个值。所以要清除它,使用这个:

$("#Field").val("")

查看 jQuery API val

http://api.jquery.com/val/

如果你想使用基本的 Javascript,你可以使用.value = "",但是由于你是用 jQuery 选择一个元素,你必须使用 jQuery 方法,比如val.

不过,您有几个选择。这对于基本的 Javascript 来说同样非常简单:

document.getElementById("Field").value = "";

如果您仍然想使用 jQuery 但使用value,则需要获取 DOM 元素,例如:

$("#Field")[0].value = "";
// or
$("#Field").get(0).value = "";

如果您使用的是 jQuery,那么您不妨坚持使用val(). 这样做的好处是,如果找不到元素,调用.val("")不会轰炸程序。如果您使用我提到的任何其他方法,如果该元素不存在,它们将爆炸。所以这取决于你真正想要什么。在使用or之前,您始终可以检查是否$("#Field").length大于 0 ,但这有点矫枉过正。get(0)[0]

另一个可能的问题是id元素的 可能不是“字段”。我忘记了 MVC 为生成实际的 HTML 所做的工作,但您可以使用 Firebug 或 Developer Tools 之类的工具来调查并查看id实际情况。然后,您可能必须将其替换为“字段”。

于 2012-10-11T20:44:52.477 回答