bro*_*man 0 javascript jquery razor asp.net-mvc-3
我似乎无法弄清楚如何清除剃刀文本框中的文本.
我试过这个:
@Html.TextBoxFor(m => m.Field)
$(document).ready(function () {
$(".link").click(function () {
$("#Field").value = "";
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
没工作.
使用jQuery设置值的正确方法是使用val并传递一个值.所以要清除它,使用这个:
$("#Field").val("")
Run Code Online (Sandbox Code Playgroud)
查看jQuery API val:
如果你想使用基本的Javascript,你可以使用.value = "",但是由于你选择了一个带有jQuery的元素,你必须使用jQuery方法,比如val.
你有几个选择.使用基本Javascript同样非常简单:
document.getElementById("Field").value = "";
Run Code Online (Sandbox Code Playgroud)
如果您仍然想使用jQuery但是使用value,则需要获取DOM元素,例如:
$("#Field")[0].value = "";
// or
$("#Field").get(0).value = "";
Run Code Online (Sandbox Code Playgroud)
如果你正在使用jQuery,你可能会坚持下去val().这样做的好处是,.val("")如果找不到元素,调用将不会轰炸程序.如果你使用我提到的任何其他方法,如果元素不存在,它们将会爆炸.所以这取决于你真正想要的东西.您可以随时检查,看看是否$("#Field").length是大于0使用前get(0)或[0],但是这是一种矫枉过正.
另一个可能的问题是id元素的元素可能不是"字段".我忘记了MVC为生成实际HTML做了什么,但是你可以使用像Firebug或Developer Tools这样的东西来调查并查看id实际的内容.然后,您可能必须将其替换为"Field".
| 归档时间: |
|
| 查看次数: |
9363 次 |
| 最近记录: |