首页 文章

Knockout选择与数组绑定的选项

提问于
浏览
0

我试图用我的数组中的值绑定选择选项,但没有成功 . 我试图改变我如何使用数组改变从observable到observableArray,但它不会取值 .

这是我目前的尝试 .

<select name="status"
data-bind="options: statuses,
  optionsValue: 'key',
  optionsText: 'value',
  value: status "></select>

昏死:

$statuses = {
 1: 'Open',
 2: 'Closed',
 3: 'On hold'
}

self.statuses = ko.observable($statuses);
self.status = ko.observable(null);

1 回答

  • 0

    你传递的是字典而不是数组 .

    它应该是这样的:

    $statuses = [
        'Open',
        'Closed',
        'On hold'
    ]
    
    self.statuses = ko.observableArray($statuses)
    

    使用以下HTML

    <select name="status" data-bind="options: statuses, value: status"></select>
    

    如果您希望键值更改 $statuses 为:

    $statuses = [
        {key: 'Open', value: 1},
        {key: 'Closed', value: 2},
        {key: 'On hold', value: 3}
    ]
    

    并使用 optionsValueoptionsText 保持HTML绑定 .

相关问题