我似乎无法弄清楚如何从剃刀文本框中清除文本。
我试过这个:
@Html.TextBoxFor(m => m.Field)
$(document).ready(function () {
$(".link").click(function () {
$("#Field").value = "";
return false;
});
});
没用。
我似乎无法弄清楚如何从剃刀文本框中清除文本。
我试过这个:
@Html.TextBoxFor(m => m.Field)
$(document).ready(function () {
$(".link").click(function () {
$("#Field").value = "";
return false;
});
});
没用。
使用 jQuery 设置值的正确方法是使用val
并传递一个值。所以要清除它,使用这个:
$("#Field").val("")
查看 jQuery API 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
实际情况。然后,您可能必须将其替换为“字段”。