jQueryダイアログボタンをノックアウトビューモデルにバインドする方法
-
22-10-2019 - |
質問
私がやりたいのは、ボタンがノックアウトビューモデルのデータバウンドであるダイアログを作成することです。
しかし、jQueryダイアログでボタンを作成する方法は、通常とは少し異なります。
誰かがこれの解決策を持っていますか?
解決
必ず自分で適用してください
class
ダイアログのボタンに:$("#dialog").dialog({ buttons: [{ text: 'Ok', class: 'ok-button' }] });
をつかみます
button.ok-button
aを適用しますdata-bind
それへの属性(visible
ここで、それが機能することを示すために)。ここ、name
私たちのビューモデルの観察可能な特性です:$("button.ok-button").attr("data-bind", "visible: name().length");
通常、バインディングを適用します:
var model = { name: ko.observable('') }; ko.applyBindings(model);
これがダイアログの「OK」ボタンを隠す例です。 name
(観測可能)長さがあります > 0
: http://jsfiddle.net/9crfy/
他のヒント
Andrewの回答に追加するには、データバインド属性はボタンに追加できる別の属性であるため、これも機能します。
$("#dialog").dialog({
buttons: [{
text: 'Ok',
'data-bind': 'visible: name().length'
}]
});
所属していません StackOverflow