Возможно, я использую виджет dojo
. Мне просто нужен раскрывающийся список, но в настоящее время у вас есть ComboButton
. Могу ли я настроить onClick
или onSelect какого-то типа, когда пользователь выбирает опцию в нижнем меню ComboButton
? Мой текущий onClick
подбирает, когда пользователь нажимает кнопку текстовой области, но не выбирает стрелку вниз. Я хочу выполнить действие onClick
или onSelect после того, как пользователь нажимает кнопку со стрелкой вниз, а затем выбирает параметр.Могу ли я настроить форму dojo dijit для ComboButton, чтобы сделать onClick или что-то подобное, когда пользователь выбирает значение в выпадающем списке?
{id: 'identOpModeId', field: 'identOpMode', name:'OpMode', width: '124px',
navigable: true,
expandLevel: 'all',
widgetsInCell: true,
allowEventBubble: true,
onCellWidgetCreated: function(cellWidget, cell){
var menuItems = OpModeMenuItems.returnOpModeMenuItems(cellWidget);
menuItems.forEach(function (menuItem)
{
cellWidget.sMenu.addChild(menuItem);
});
},
setCellValue: function(one,two,cellWidget){
var rowIndex = cellWidget.cell.row.id;
cellWidget.identOpMode.set("label", identMemStore.get(rowIndex).identOpMode);
},
getCellWidgetConnects: function(cellWidget, cell){
// return an array of connection arguments
return [
// How do I capture the onClick of the dijitArrowButton button??
[cellWidget.identOpMode, 'onClick', function(e){
var rowIndex = cellWidget.cell.row.id;
// I do NOT need this line - the drop down menu already sets the value! I just need to update the store!!
//cellWidget.identOpMode.set("label", identMemStore.get(rowIndex).identOpMode);
identMemStore.data[rowIndex-1].identOpMode = identMemStore.get(rowIndex).identOpMode;
// cellWidget.data[rowIndex].identOpMode = identMemStore.get(rowIndex).identOpMode;
// Add item to userRowChanges
updateRows(rowIndex-1, identGridx.row(rowIndex-1).item());
}]
];
},
decorator: function(){
return [
'<div data-dojo-attach-point="identOpMode" data-dojo-type="dijit/form/ComboButton" >',
'<div data-dojo-attach-point="sMenu" data-dojo-type="dijit/Menu"></div></div>'
].join('');
}
},
Спасибо, где бы я разместить код? Я пробовал несколько вещей без везения. – DemiSheep
Я только что обновил свой ответ выше, чтобы дать вам лучшее представление о том, что вы можете сделать. – Richard
Ваше предложение об изменении onClick to onChange сработало. Я не использовал 'dojo/on', как вы предложили. Пожалуйста, см. Мой ответ на вопрос о том, что я сделал точно. Но спасибо, ты помог мне это решить. Возможно, я не решил его самым правильным способом, но он работает. – DemiSheep