knockoutjs检查单击按钮时select控件是否有值

时间:2015-12-18 18:34:46

标签: javascript knockout.js knockout-2.0 knockout-validation

我想知道在foreach循环中单击按钮时是否能以某种方式检测选择控件是否具有值。

这是我的标记:

len(files) == len(files2)

这是添加到购物车功能:

                                                  <tbody data-bind="foreach: Pack">
                            <tr>
                                <th class="name"><span data-bind="text: Name"></span></th>
                            </tr>
                            <tr>
                                <td class="bg" colspan="3" align="left" height="112px" valign="middle">
                                    <div class="row">
                                        <div>
                                        <select class="form-control" data-bind="options: $root.TeacherOptions(), optionsValue: 'TeacherId', optionsText: 'TeacherName', optionsCaption: 'Choose Teacher'"></select>
                                        </div>
                                        <div class="col-lg-6 col-md-6 col-sm-6 n-p m-t-30">
                                            <!-- ko if: !Processing() -->
                                            <a href="javascript:void();" data-bind="click: $root.AddToCart" class="additem-link">Add To Order</a>
                                            <!-- /ko -->
                                        </div>
                                    </div>
                                </td>
                            </tr>
                        </tbody>

我想检查select控件是否在foreach循环中具有该项的实际值,如果确实如此,则它可以添加到购物车,否则将无法实现。

知道我该怎么办?

我很抱歉,如果我的knockoutjs代码不是很好,有基本的知识。

由于

1 个答案:

答案 0 :(得分:0)

要获取所选项目的值,您可以对value元素使用select绑定。

<select class="form-control" data-bind="value: selectedItem, options: $root.TeacherOptions(), optionsValue: 'TeacherId', optionsText: 'TeacherName', optionsCaption: 'Choose Teacher'"></select>

在您的视图模型中,您将使用

this.selectedItem = ko.observable(); // You can optionally set it to a specific TeacherId

执行此操作后,this.selectedItem()将返回当前所选项目的任何值。