2016-08-29 7 views
1

入力にrequired属性を条件付きで設定するにはどうすればよいですか?knockout.jsの必須属性を使用

<input type="text" required /> 

必須属性に値がありません。プレゼントされるだけでrequiredとなります。だからrequired="false"はいくつかのスクリプトを失敗させるでしょう。

私はそれをドキュメントで見つけられませんでした。私が得たものは、disabledバインディングでした。

答えて

4

ノックアウトは、attrbindingにバインドされている場合、バインドされた値がfalseである属性を削除するほどスマートです。下の入力を調べます。 required="true"requiredの間で切り替わります。

vm = {r: ko.observable(false)} 
 
ko.applyBindings(vm); 
 
setInterval(() => vm.r(!vm.r()), 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<input data-bind="attr: {required: r}" />

関連する問題