用JavaScript清除输入标记的文本
我目前无法清除应用程序中用JavaScript清除输入标记的文本,javascript,jquery,razor,knockout.js,Javascript,Jquery,Razor,Knockout.js,我目前无法清除应用程序中input type=“text”标记内的文本。通过将必需的observable(knockout.js)设置为默认值,我可以清除所有字段的输入,但是使用此输入,我找不到这样做的方法 需要在.cshtml文件中清除的输入标记: <input type="text" placeholder="Search for Users…" id="users" class="form-control" data-bind="autoComplete: Users, value:
input type=“text”
标记内的文本。通过将必需的observable(knockout.js)
设置为默认值,我可以清除所有字段的输入,但是使用此输入,我找不到这样做的方法
需要在.cshtml
文件中清除的输入标记:
<input type="text" placeholder="Search for Users…" id="users" class="form-control" data-bind="autoComplete: Users, value: SelectedFilteredUser, optionsText: 'DisplayName', optionsValue: 'Value',autoCompleteOptions: {autoFocus: false}" />
我已经尝试了我通常的knockout.js
方法,将可观察对象的值设置为默认值:
self.SelectedFilteredUser(空)代码>和自选过滤器(“”)代码>
注:self.SelectedFilteredUser(空)
确实将输入
中的值设置为null,正如我单击我创建的相关添加按钮时所看到的,但文本仍在输入
标记中。这是我用来清除其他输入的东西,但它在这里并不起作用
在查看了大量StackOverflow帖子(如一篇)后,我尝试了其他解决方案,如
使用jQuery时:$('#users').val(''
和对元素的正常JavaScript访问:document.getElementById('users')。value=''代码>
这两者都没有任何效果
如果有人知道我如何清除我的.cshtml
文件中的input type=“text”
标记,我将不胜感激。document.getElementById('users').value('')代码>@epascarello我的错,我意识到了我的错误。使用document.getElementById('users')的正确语法进行尝试代码>产生相同的结果。用正确的代码更新了我的问题。如果您的案例中有其他具有相同ID“users”的元素,也只需执行console.log($('#users').val());看看如果any@KarthikGanesan我在document.getElementById('users').value=''之后完成了此操作执行代码>时,在控制台中打印空行。因此,值已正确更改,但文本仍驻留在输入文本框中。