フォームの検証に基づいてjQueryボタンを無効にしたいのですが。ドキュメントによると、これは次のような構文を使用する通常のボタンでかなり簡単です。
<button ng-click="save(user)" ng-disabled="form.$invalid">Save</button>
ただし、jQuery UIボタンに変更すると、これは機能しなくなります。AngularにはjQueryUIとAngularJSの間に実際のバインディングがないため、次のことを行うためのディレクティブが必要になると思います。
$("button" ).button( "option", "disabled" );
それは事実ですか、それとも他の選択肢がありますか?私がやろうとしていることのjsFiddleはここにあります:http://jsfiddle.net/blakewell/vbMnN/。
私のコードは次のようになります:
意見
<div ng-app ng-controller="MyCtrl">
<form name="form" novalidate class="my-form">
Name: <input type="text" ng-model="user.name" required /><br/>
Email: <input type="text" ng-model="user.email" required/><br/>
<button ng-click="save(user)" ng-disabled="form.$invalid">Save</button>
</form>
</div>
コントローラ
function MyCtrl($scope) {
$scope.save = function (user) {
console.log(user.name);
};
$scope.user = {};
};
$(function () {
$("button").button();
});