使用Knockout时,如果选择下拉列表中的值,我怎样才能使div只能查看?

时间:2015-01-28 16:12:15

标签: javascript jquery knockout.js

当我从SHarepoint列表中提取的下拉列表中选择“USB Access Request”时,我想查看div。

下拉

Application: 
                <select data-bind="value: $data.selectedApp, options: $parent.applications, optionsText: 'ApplicationName', optionsCaption: 'Choose an Application'" style="width: 32px" name="Application list" id="dataBox">
                </select>
    <div name="main">

Div我想要展示

<div name="main">
        <input type="checkbox" /> Tick this box if there is an end date for the 
        permissions.
    </div>
    <div class='other' name='other' title='other' style='display:none;'>  
    <p>Date: <input type="text" id="datepicker"/></p>
    </div>

我删除了我的脚本,因为它完全错误但会在必要时添加它。

1 个答案:

答案 0 :(得分:0)

您希望将下拉列表的值绑定到可观察的视图模型,例如selectedApp。确保它在视图模型中定义为self.selectedApp = ko.observable();

<select data-bind="value: selectedApp, options: $parent.applications, optionsText: 'ApplicationName', optionsCaption: 'Choose an Application'" style="width: 32px" name="Application list" id="dataBox">
</select>

然后使用visible绑定仅在selectedApp具有值时显示div:

<!-- ko visible: selectedApp -->
<div name="main">
    <input type="checkbox" /> Tick this box if there is an end date for the permissions.
</div>
<div class='other' name='other' title='other' style='display:none;'>  
    <p>Date: <input type="text" id="datepicker"/></p>
</div>
<!-- /ko -->