ボタンを無効にして有効にしようとしています: たとえば:修正ボタンをクリックすると無効にして保存ボタンを有効にし、保存ボタンをクリックすると有効にします変更ボタンをクリックし、保存ボタンを無効にします。ありがとうございました。 Angularjsコードの下ボタンを無効にして無効にする
:
angular.module('virtoCommerce.catalogModule')
.controller('virtoCommerce.catalogModule.categoriesItemsListController', ['$scope', function ($scope) {
var isFieldEnabled = true;
blade.updatePermission = 'catalog:update';
... (more codes but not included)
var formScope;
$scope.setForm = function (form) { formScope = form; }
//Save the prices entered by the user.
function savePrice()
{
//TODO: Save the price information.
}
function isDirty() {
return blade.hasUpdatePermission();
};
//function enablePriceField
function enablePriceField() {
var inputList = document.getElementsByTagName("input");
var inputList2 = Array.prototype.slice.call(inputList);
if (isFieldEnabled == true) {
for (i = 0; i < inputList.length; i++) {
var row = inputList2[i];
if (row.id == "priceField") {
row.disabled = false;
}
}
} else {
for (i = 0; i < inputList.length; i++) {
var row = inputList2[i];
if (row.id == "priceField") {
row.disabled = true;
}
}
}
//Set the flag to true or false
if (isFieldEnabled == true) {
isFieldEnabled = false
} else {
isFieldEnabled = true;
}
}
var formScope;
$scope.setForm = function (form) { formScope = form; }
function canSave() {
return isDirty() && formScope && formScope.$valid;
}
//Angular toolbar commands
blade.toolbarCommands = [
{
name: "platform.commands.modify",
icon: 'fa fa-pencil',
executeMethod: function() { enablePriceField();},
canExecuteMethod: function() { return true; }
},
{
name: "platform.commands.save",
icon: 'fa fa-floppy-o',
executeMethod: function() { savePrice(); },
canExecuteMethod: canSave,
permission: blade.updatePermission
}];
}]);
あなたの回答よりも...私は私の場合、HTMLを使用する代わりにAngularjsを使ってボタンを動的に作成します。 「virtoCommerce」に精通していれば、ボタンがブレード上に作成されます。 – eddy0223