0

Eric Hynds によるこのクールな複数選択コンポーネントを使用しています。

ページでノックアウトを使用して、このコントロールをデータバインドしています。ここで、コントロール内のデータとのグループ化を許可したいと考えています。次のように optgroup オプションを使用できると思います。

        <select name="example3" class="multiselect" multiple="multiple" size="5">
    <optgroup label="Group One">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </optgroup>
    <optgroup label="Group Two">
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
        <option value="option6">Option 6</option>
        <option value="option7">Option 7</option>
    </optgroup>
    </select>

問題は、私のデータでは、optgroup 自体が何らかのデータ項目である必要があることです。この中で親子関係を示したいからです。

データバインディングを介してそれを行う方法はありますか?

4

1 に答える 1

0

このビューを使用できます:

<select class="fieldValue" data-bind="foreach: availables, value: selectedItem">
    <optgroup data-bind="attr: {label: groupName},  foreach: fields">
        <option data-bind="text: headerText, attr:{value: fieldId}"></option>
    </optgroup>
 </select>

この種のビューモデルでは:

var  vm  ={
    selectedItem:  ko.observable()
    availables :[
        {
            groupName : 'group1'
            fields :[
                fieldId: 0,
                headerText : 'option1',
            ]
        }
    ]
};

お役に立てば幸いです。

于 2013-05-31T09:30:38.803 に答える