引导角模式对话框:不能从选择返回值
bootstrap-angular modal dialog: can not return value from select
我有一个angular-bootstrap模态对话框,模板如下(jade语法):
div.modal-body
select(ng-model="chosenProject" id="chosenProject", ng-options="c.value as c.name for c in selectItems")
div.modal-footer
button.btn.btn-primary(ng-click="ok()") Change project
button.btn.btn-warning(ng-click="cancel()") Cancel
数组的预填充工作正常。Dialog配置了它的控制器,该控制器定义了简单的ok()函数,下面是控制器体中的例外:
$scope.chosenProject = 0; // needed to have selected initial item with value=-1 in the select
$scope.ok = function () {
console.log("OK clicked, chosenProject " + $scope.chosenProject);
$modalInstance.close($scope.chosenProject);
};
函数工作正常。根据console.log, $scope。无论我在select中选择什么,chosenProject都保持不变,只是返回我在"$scope"行中预设的内容。chosenProject = 0;
这个问题是因为你的控制器和模态模板之间存在一个transclusion作用域。
试试这个-在模态的控制器中,替换:
$scope.chosenProject = 0;
$scope.chosenProject = {
value: 0
};
和模态模板,替换
select(ng-model="chosenProject" id="chosenProject"
ng-options="c.value as c.name for c in selectItems")
select(ng-model="chosenProject.value" id="chosenProject"
ng-options="c.value as c.name for c in selectItems")
选择的项目应该被正确捕获。
您需要将chosenProject返回
modalInstance.result.then(function(result) {
});
如果你在一个页面中需要更多的对话框,这是一个非常简单的对话框服务。
相关文章:
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 基础日期选择器、结束日期(和时间)不能早于开始日期(和时间)
- select2 使用 AJAX 加载数据不能选择任何选项
- 为什么我不能通过 document.getElementById(“node's_id”).child 选择节点子节点
- webview日期选择器可以在android模拟器中工作,但不能在设备上工作
- 不能同时通过类和数字 ID 选择 jquery 元素
- 为什么在IE8中禁用日期不能正确使用Jquery日期选择器
- Eonasdan日期时间选择器没有'不能在联机模式下工作
- getElementById selected不能选择多个选项
- JQuery不能选择动态创建的html元素
- 不能选择子节点
- 祝福列表-上排锁定,不能选择或滚动
- 不能选择添加的元素
- Angularjs——不能选择任何选项
- 当表中有多行时,不能选择子选项
- 不能选择类名为:JQuery的最后一个元素
- Ajax调用和追加,不能选择追加的内容或做任何事情
- Select2 ajax显示结果,但不能选择
- 输入焦点不工作/不能选择单选按钮-引导
- 不能选择gridview内的文本框的值