在JQuery中清除文本字段值
我知道这是一个简单的问题,但由于某种原因,这只是不适合我。 我有一个function,触发每次下拉菜单更改。 这里是相关的代码,假设获取文本字段的当前值,如果存在一个值,则清除包含在.change函数中的代码:
var doc_val_check = $('#doc_title').attr("value"); if (doc_val_check.length > 0) { doc_val_check == ""; }
我觉得我错过了很简单的事情。
doc_val_check == ""; // == is equality check operator
应该
doc_val_check = ""; // = is assign operator. you need to set empty value // so you need =
你可以写这样的完整代码:
var doc_val_check = $.trim( $('#doc_title').val() ); // take value of text // field using .val() if (doc_val_check.length) { doc_val_check = ""; // this will not update your text field }
要用""
更新你的文本字段,你需要尝试
$('#doc_title').attr('value', doc_val_check); // or $('doc_title').val(doc_val_check);
但我认为你不需要上面的过程。
总之,只有一条线
$('#doc_title').val("");
注意
.val()
用于在文本字段中设置/获取值。 用参数作为setter,没有参数作为getter。
阅读更多关于.val()
如果要清除文本字段,请使用:
$('#doc_title').val("");
而不是所有这些:
$('#doc_title').attr("value", "");
你需要的是:
if ($('#doc_title').val()) { $('#doc_title').val(''); }
如果你使用jQuery,那么你可以使用这个:
// var doc_val_check = $('#doc_title').val(); - No need of this! if ($('#doc_title').val().length > 0) { $('#doc_title').val(""); }
以简单的方式,您可以使用下面的代码来清除表单中的所有文本字段,textarea,下拉列表,单选button,checkbox。
function reset(){ $('input[type=text]').val(''); $('#textarea').val(''); $('input[type=select]').val(''); $('input[type=radio]').val(''); $('input[type=checkbox]').val(''); }
你可以使用这一行清除它
$('#TextBoxID').val("");
我们可以使用这个清晰的文字
$('input[name="message"]').val("");
您正在比较doc_val_check
和一个空string。 您想要将空string分配给doc_val_check
所以应该是这样的:
doc_val_check = "";
大多数情况下,您只需设置.val()方法。 所有的答案都相当准确,只是想把我的结果发布给任何需要通过客户端ID设置值的人。
$('#' + '<%= doc_title.ClientID %>').val(null);
使用jQuery.prototype.val
来获取/设置字段值:
var value = $('#doc_title').val(); // get value $('#doc_title').val(''); // clear value
First Name: <input type="text" autocomplete="off" name="input1"/> <br/> Last Name: <input type="text" autocomplete="off" name="input2"/> <br/> <input type="submit" value="Submit" /> </form>
$('#[element id]').val(null);
要么
$('.[element class]').val(null);