1

valueAllowUnset: trueSelect2 プラグインを使用すると、デフォルト値が選択ボックスに表示されないことに気付きました。ただし、選択をクリックすると、正しい値が強調表示されます。

http://jsfiddle.net/LgXcb/

, select2: {}上記のフィドルから「 」を削除して、どのように動作するかを確認してください。

この問題の原因についてのアイデアはありますか? Knockout に使用している select2 カスタム バインディング関数と関係がありますか?

4

2 に答える 2

3

賞金を設定する前に何ヶ月も待ったとしても、私はいつも賞金を設定した直後に解決策を見つけることになるようです.

update問題は、カスタム バインディングの関数内のコードにありました。select の観察可能な値が変更された後、次のように select2 も手動で更新する必要があります。

update: function(element, valueAccessor, allBindingsAccessor) {
  var value = ko.utils.unwrapObservable(allBindingsAccessor().value || allBindingsAccessor().selectedOptions);
  if (value) $(element).select2('val', value);
}

作業コード: http://jsfiddle.net/LgXcb/5/

于 2014-06-27T13:14:02.657 に答える