按鈕,我有如下一個JavaScript代碼:禁用選項/在使用JavasScript
p.onRowSelectExtraListener = function(e)
{
var that = e.data.that;
that.actions.selectedRows = that.table.getSelectedRows();
var selected = [];
var disableoption = false;
$('#checkboxes input:checked').each(function() {
selected.push($(this).attr('statusid'));
});
$.each(selected, function(index, value) {
if (value == 27)
{
disableoption = true;
return false;
}
console.log(disableoption);
if(disableoption === true)
{
console.log("calling another function");
//call p.getRowActions and disable the 3rd menu item/button.option.
}
});
};
p.getRowActions = function()
{
var that = this;
var addToGroupOptions = this.data.group.slice(0);
console.log("in get row actions");
if (this.canUnlock == 0)
{
console.log("In Super-IF loop");
}
addToGroupOptions.unshift({id: 'new', name: 'new group'});
//TODO translate
return [
{
option: {id: '4', name: 'add to group'},
options: addToGroupOptions,
type: 'ajax',
func: function(selectedRows, group)
{
that.onAddToGroup(selectedRows, group);
}
},
{
option: {id: '2', name: 'change rights issue'},
type: 'ajax',
func: function(selectedRows, rights) {
that.onChangeRights(selectedRows, rights);
}
},
{
option: {id: '1', name: 'change status'},
options: this.data.status,
type: 'ajax',
func: function(selectedRows, status) {
that.onChangeStatus(selectedRows, status);
}
},
{
option: {id: '3', name: 'edit'},
type: 'ajax',
func: function(selectedRows, edit) {
that.onChangeEdit(selectedRows, edit);
}
}
];
};
現在出了這兩個功能,第二個叫/第一次執行時,我打開我的網頁。 因此,我可以看到console.log("in get row actions");
打印以及在return[]
聲明下的4個選項作爲我應用程序中的按鈕顯示。
現在,我的要求是:
要禁用第三選項(使用ID選項:1名:每當disableoption = true
將在第一功能進行設置更改狀態
怎麼可能
?我怎樣才能提前訪問和消除不同勢函數中定義的屬性?
感謝。
感謝您的幫助@Marcelor。 我理解你的意思說理論。 你可以請我提供在我的情況下的實施代碼,因爲我對Javascript天真。 – mmt 2014-09-03 10:23:40