我有以下代码,在该代码中,我将从下拉列表中进行选择更改的确认。如果用户从列表中选择任何选项,然后单击“取消”,那么我想在确认警报的取消事件上将选项更改为默认的“选择任何一个”。当前选择的是默认选择。
$scope.GetValue = function(newObj, oldObj) {
var dialog = confirm('Continue?');
if (dialog) {
alert("Changing from "+oldObj+"to "+newObj);
}
else {
$scope.valueProps = '';
}
}
如果取消事件被触发,则有关如何将选项更改为默认值(选择任意一项)的任何帮助。
答案 0 :(得分:1)
在父循环中使用同一对象时,不应将对象键用作选择选项值。
首先,请使用其他范围而不是循环对象作为选项
$scope.optionList = [
"For any event on all my projects",
"For any event on the selected projects only...",
"Only for things I watch or I'm involved in",
"Only for things I am assigned to",
"Only for things I am the owner of",
"No events"
];
并且您可能不想使用范围来选择循环项。
$scope.valueProps = '';
您可以将旧值作为像oldValue这样的键存储在循环项中
{
"key": "all",
"value": "",
"oldValue": ""
},
并更改事件传递循环项作为函数的参数
function GetValue(row) {
if (confirm('Continue?')) {
alert('Changing from ' + row.oldValue + 'to ' + row.value);
// You should change your old value with new value after alert notify
row.oldValue = row.value;
} else {
// if confirm rejects then change value with old value
row.value = row.oldValue;
}
}
我对您的代码进行了一些更改,请检查一下;