【问题标题】:knockoutjs dependent select boxes problems binding child select boxknockoutjs 依赖选择框问题绑定子选择框
【发布时间】:2013-07-15 04:12:53
【问题描述】:

类似于 knockoutjs 购物车示例,我有一个包裹清单,价格取决于位置。我无法将依赖选择框(locationOptions)与视图绑定:

<select data-bind="options: packages,
                   optionsCaption: 'Select...',
                   optionsText: 'name',
                   value: selectedPackage">                 
</select>

<select data-bind="options: locationOptions,
                   optionsCaption: 'Select...',
                   optionsText: 'location',
                   value: selectedLocation">
</select>

<span data-bind="with: selectedPackage">
    <p>You have chosen <b data-bind="text: name"></b> (<span data-bind="text: description">)</span>
    In location <b data-bind="text: location"></b></p>
    <p>Total is <b data-bind="text: total"></b></p>
</span>

查看模型:

function viewModel(packages, addons) {
    this.packages = packages;
    this.selectedPackage = ko.observable();
    this.selectedLocation = ko.observable();
    this.total = ko.computed(function(){
        var x = 0;
        return x;
    });
}

这里是 jsfiddle http://jsfiddle.net/KN4P6/6/

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    看看this fiddle

    <select data-bind="options: packages,
                       optionsCaption: 'Select...',
                       optionsText: 'name',
                       value: selectedPackage">                 
    </select>
    
    <!-- ko with : selectedPackage -->
    
    <select data-bind="options: locationOptions,
                       optionsCaption: 'Select...',
                       optionsText: 'location',
                       value: $parent.selectedLocation">
    </select>   
    
    <!-- /ko  -->
    
    <span data-bind="with: selectedPackage">
        <p>You have chosen <b data-bind="text: name"></b> (<span data-bind="text: description">)</span></p>
            <!-- ko with : $parent.selectedLocation -->
            In location <b data-bind="text: location"></b>
        <p>Total is <b data-bind="text: $parents[1].total"></b></p>
      <!-- /ko  -->
    </span>
    

    See fiddle

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2017-02-27
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 2021-08-13
      • 2011-05-12
      相关资源
      最近更新 更多