gpt4 book ai didi

javascript - 动态添加项目到 HTML 列表

转载 作者:行者123 更新时间:2023-11-27 23:19:10 25 4
gpt4 key购买 nike

我目前正在使用 knockout 在 ASP.NET MVC 5 应用程序中构建一个向导。在其中一个步骤中,我需要将项目添加到 html 列表中。也就是说,文本输入到文本框中,然后单击添加按钮,文本将添加到列表中。

我的模板:

<script type="text/html" id="addProduct">
<li class="dd-item bordered-inverse animated fadeInDown">
<div class="dd-handle dd-nodrag">
<div class="checkbox">
<label>
<a data-bind="attr: { 'href': '#' }" class='btn btn-xs icon-only success'><i class="fa fa-trash-o"></i></a>
<label data-bind="text: Name, uniqueName: true"></label>
</label>
</div>
</div>
</li>
</script>

<div class="row">
<div class="col-md-6">
<div id="newProduct" class="dd">
<ol class="dd-list" data-bind="template: { name: 'addProduct', foreach: Model.Step1.ProductServices }"></ol>
</div>
</div>
</div>

输入文本框:

@Html.TextBoxFor(model => model.Step1.ProductService, new { data_bind = "value: Model.Step1.ProductService")

<button type="button" id="addservice" data-bind="event:{ click: AddProduct }">Add Service/Product</button>

knockout 添加事件:

self.AddProduct = function () {
self.Model.CurrentStep().ProductServices.push({ name: self.Model.CurrentStep().ProductService });
}

self.Model.CurrentStep().ProductServices 是一个仅作为一个属性名称的列表产品。

上面的代码将一个项目添加到 html 列表并更新 UI,但 self.Model.CurrentStep().ProductServices.length 始终为零,这意味着没有向模型本身添加任何内容。

请问如何强制它更新 self.Model.CurrentStep().ProductServices?

最佳答案

length 不是 observableArray 的属性。请检查 ProductServices().length

关于javascript - 动态添加项目到 HTML 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com