Jquery 将可观察设置添加到空字符串后,是否不清除文本框?
我已经将一个可观测值绑定到一个文本输入字段,单击一个按钮,我将其值添加到一个敲除可观测数组中。 推送之后,我正在重置可观察值,但文本字段仍然显示该值。下面是我的代码Jquery 将可观察设置添加到空字符串后,是否不清除文本框?,jquery,.net,asp.net-mvc-4,knockout.js,knockout-2.0,Jquery,.net,Asp.net Mvc 4,Knockout.js,Knockout 2.0,我已经将一个可观测值绑定到一个文本输入字段,单击一个按钮,我将其值添加到一个敲除可观测数组中。 推送之后,我正在重置可观察值,但文本字段仍然显示该值。下面是我的代码 var data = [ { Id: 1, Name: "abc" }, { Id: 2, Name: "def" }, { Id: 3, Name: "ghi" }, { Id: 4, Name: "jkl" } ]; var viewModel = function () { var s
var data = [
{ Id: 1, Name: "abc" },
{ Id: 2, Name: "def" },
{ Id: 3, Name: "ghi" },
{ Id: 4, Name: "jkl" }
];
var viewModel = function () {
var self = this;
//data
self.tags = ko.observableArray(data);
self.tagToAdd = ko.observable();
//behaviour
self.addTag = function () {
self.tags.push({ Name: self.tagToAdd() });
self.tagToAdd("");
};
};
$(function () {
var vm = new viewModel();
ko.applyBindings(vm);
});
以下是我的html代码:
<input type="text" data-bind="value: tagToAdd, valueUpdate: 'afterkeydown'" />
<button data-bind="click: addTag">+ Add</button>
<div data-bind="template: 'tagsTemp'">
</div>
@section Scripts
{
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="https://rawgit.com/BorisMoore/jquery-tmpl/master/jquery.tmpl.js"></script>
<script id="tagsTemp" type="text/html">
{{each tags}}
<span>${Name}</span>
{{/each}}
</script>
+加
@节脚本
{
{{each tags}}
${Name}
{{/每个}}
请帮助和指导我。我检查了它是否正在使用上述绑定和每个列表的淘汰,我使用的代码如下:
var data = [
{ Id: 1, Name: "abc" },
{ Id: 2, Name: "def" },
{ Id: 3, Name: "ghi" },
{ Id: 4, Name: "jkl" }
];
var viewModel = function () {
var self = this;
//data
self.tags = ko.observableArray(data);
self.tagToAdd = ko.observable();
//behaviour
self.addTag = function () {
self.tags.push({ Name: self.tagToAdd() });
self.tagToAdd("");
};
};
$(function () {
var vm = new viewModel();
ko.applyBindings(vm);
});
@{
ViewBag.Title = "Home Page";
}
<h3>after adding setting observable to empty string do not clear textbox?</h3>
<input type="text" data-bind="value: tagToAdd, valueUpdate: 'afterkeydown'" />
<button data-bind="click: addTag">+ Add</button>
<div data-bind="foreach: tags">
<label data-bind="text:Name"></label>
</div>
var数据=[
{Id:1,名称:“abc”},
{Id:2,名称:“def”},
{Id:3,名称:“ghi”},
{Id:4,名称:“jkl”}
];
var viewModel=函数(){
var self=这个;
//资料
self.tags=ko.observearray(数据);
self.tagToAdd=ko.observable();
//行为
self.addTag=函数(){
self.tags.push({Name:self.tagToAdd()});
self.tagToAdd(“”);
};
};
$(函数(){
var vm=new viewModel();
ko.应用绑定(vm);
});
@{
ViewBag.Title=“主页”;
}
将可观察设置添加到空字符串后,是否不清除文本框?
+加
如果不是这样,请让我知道…它工作正常@Akhlesh你确定它在JSFIDLE链接中工作吗?我可以看到{{each tags}}${Name}{{/each}}在正文下面box@Sherin是的。你可以检查JSFIDLE链接。我想你在knockout.js之后添加了jquery.tmpl.js引用。@Akhlesh,对不起,如果我把你弄糊涂了。我在你的第一条评论()中谈论的是JSFIDLE链接。它似乎不起作用。我没有做任何更改。在结果窗格中,我看到一个文本框、按钮和{{each tags}${Name}{{/each}}哦,是的,它不会在chrome中工作,因为我已经从github中引用了jquery.tmpl.js,它的MIME类型('text/plain')是不可执行的,并且在chrome中启用了严格的MIME类型检查。您可以在控制台中看到错误。