- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将联系人添加到地址簿。然后用户可以编辑/更新联系人。这有效,您可以添加和编辑地址。
我想达到什么目的
当用户点击编辑地址时,我希望模态表单弹出并填充地址/用户名的值。
我尝试了很多方法,但无法使它起作用。编辑地址/联系人时,输入框为空,与添加地址时相同。我正在尝试让输入框填充用户正在编辑的详细信息。
请看下面的代码。
表单如下所示:
<form>
<input ng-model="ctrl.name" type="text" name="RecipientName" placeholder="Recipient name" required>
<input ng-model="ctrl.address" type="text" name="AddressLineOne" placeholder="Address" required>
<select ng-model="ctrl.country">
<option ng-repeat="country in ctrl.countries" value="{{country.name}}">{{country.name}}</option>
</select>
</form>
addAddress.html
<h3>Add address</h3>
<div ng-include="'app/views/partials/form.html'"></div>
<div class="actionButtons">
<button class="cancel-btn" ng-click="ctrl.cancelAddress()">Cancel</button>
<button class="save-btn" ng-click="ctrl.saveAddress(ctrl.name, ctrl.address, ctrl.country)">Save</button>
</div>
editAddress.html
<h3>Edit address</h3>
<div ng-include="'app/views/partials/form.html'"></div>
<div class="actionButtons">
<button class="cancel-btn" ng-click="ctrl.cancelAddress()">Cancel</button>
<button class="save-btn" ng-click="ctrl.updateAddress(ctrl.name, ctrl.address, ctrl.country, ctrl.getIndex)">Save</button>
</div>
Controller
app.controller('HomePageCtrl', function ($uibModal) {
//used to open modal for a new address
this.open = function () {
touchnoteHomeCtrl.modalInstance = $uibModal.open({
templateUrl: 'app/views/add-address.html',
controller: 'ModalCtrl',
controllerAs:'ctrl',
resolve: {
editIndex: function () {
return undefined;
}
}
});
};
//used to open modal to edit address
this.openEdit = function(index) {
touchnoteHomeCtrl.modalInstance = $uibModal.open({
templateUrl: 'app/views/edit-address.html',
controller: 'ModalCtrl',
controllerAs:'ctrl',
resolve: {
//this is used to access the index in the modalCtrl
editIndex: function () {
return index;
}
}
});
};
});
表单/模态 Controller
app.controller('ModalCtrl', ['$uibModalInstance','addressFactory','editIndex', function ( $uibModalInstance, addressFactory, editIndex ) {
this.addressBook = addressFactory.addressBook;
this.getIndex = editIndex;
if (editIndex !== undefined){
this.name = addressFactory.addressBook[editIndex].name;
this.address = addressFactory.addressBook[editIndex].address;
this.country = addressFactory.addressBook[editIndex].country;
}
//save a new address to address book
this.saveAddress = function( name, address, country) {
addressFactory.saveAddress( name, address, country);
$uibModalInstance.close();
}
//edit an address already in address book
this.updateAddress = function(name, address, country, index) {
addressFactory.updateAddress( name, address, country, index);
$uibModalInstance.close();
}
//closes modal and cancels action
this.cancelAddress = function () {
$uibModalInstance.dismiss('cancel');
};
}]);
地址工厂
'use strict';
app.factory('addressFactory', function(){
var addressFactory = {};
//addressbook used to store addresses
addressFactory.addressBook = [];
addressFactory.countries = [
{name: "United Kingdom"},
{name: "United States of America"},
];
//adds an address to the addressbook
addressFactory.saveAddress = function(name, address, country) {
addressFactory.addressBook.push({
name: name,
address: address,
country: country
});
localStorage.setItem('addressBook', JSON.stringify(addressFactory.addressBook));
};
//edits an address in the addressbook
addressFactory.updateAddress = function(name, address, country, index) {
addressFactory.addressBook[index] = {
name: name,
address: address,
country: country
};
localStorage.setItem('addressBook', JSON.stringify(addressFactory.addressBook));
};
return addressFactory;
});
最佳答案
您的表单正在引用控件的范围,但我相信您需要改为引用 ctrl.addressBook。
<form>
<input ng-model="ctrl.addressBook[ctrl.getIndex].name" type="text" name="RecipientName" placeholder="Recipient name" required>
<input ng-model="ctrl.addressBook[ctrl.getIndex].address" type="text" name="AddressLineOne" placeholder="Address" required>
<select ng-model="ctrl.addressBook[ctrl.getIndex].country">
<option ng-repeat="country in ctrl.addressBook.countries" value="{{country.name}}">{{country.name}}</option>
</select>
或者,您可以将数据复制到本地范围:
app.controller('ModalCtrl', ['$uibModalInstance','addressFactory','editIndex', function ( $uibModalInstance, addressFactory, editIndex ) {
this.addressBook = addressFactory.addressBook;
this.getIndex = editIndex;
if (editIndex)
{
this.name = addressFactory.addressBook[editIndex].name;
this.address = addressFactory.addressBook[editIndex].address;
this.country = addressFactory.addressBook[editIndex].country;
}
//save a new address to address book
this.saveAddress = function( name, address, country) {
addressFactory.saveAddress( name, address, country);
$uibModalInstance.close();
}
//edit an address already in address book
this.updateAddress = function(name, address, country, index) {
addressFactory.updateAddress( name, address, country, index);
$uibModalInstance.close();
}
//closes modal and cancels action
this.cancelAddress = function () {
$uibModalInstance.dismiss('cancel');
};
}]);
关于javascript - 编辑接触 Angular 时用值填充输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698780/
我的SKPhysicsbody有一个奇怪的行为。 首先让我向您展示我的主节点: self.physicsWorld.contactDelegate = self self.physicsWorld.g
嘿,我有一个选择器,它在mainBundle中搜索所有.aif文件,并允许用户选择它们。效果很好,但是后来我从项目和文件夹中删除了一些文件,但是它们并没有消失。有没有办法重新编译它或其他东西,因为它现
我需要说的是,一位开发人员告诉您应该创建一个 skphysicals 主体,以便该函数主体能够正常工作,那么是否有任何特定代码来创建该 Sprite 的 skphysicals 主体?因为我已经在物理
所以我在屏幕中央有一个 150 x 150 的主 Imageview,我以编程方式创建具有随机 x 和 y 值以及随机宽度/高度(这些值相同)的 View 。我希望 View 围绕主 ImageVie
我的 Contact 7 Form 样式的宽度一直有问题,这让我抓狂。 http://www.sportshosts.com/ 顶部表单 - 按钮不会与字段垂直对齐 顶部表单 - 当您缩小窗口时,它会
我正在尝试制作棋盘,但正方形的外观有点问题。棋盘配色方案工作正常,但由于某种原因,每个方 block 的 Angular 似乎没有接触。 这是我的 2 行代码片段,其中每个数据条目属于“light”类
标题解释得很清楚。这个怎么做?两个 div 的大小不同。两个 div 都在移动(我正在制作一个 Jquery 小游戏)。如果一个撞到另一个,我希望事情发生。 谢谢 最佳答案 没有onOverlap的J
我正在使用 cocos2dx 并设置两个具有相同 Physics Body 定义的 Sprites,如下所示 PhysicsBody *physicsBody=PhysicsBody::createB
我正在开发一个带有两个 div 的简单气球游戏。问题是当两个 div 相互接触时我无法触发功能。 最佳答案 您正在寻找边界框碰撞检测。如果你想引发一个事件,你必须反复测试,但最好只在游戏循环中对所有游
问题 我有很多 .php 文件,大部分包含 HTML,但顶部还有一些 PHP 行(例如表单触发代码或类似代码)。所以他们看起来像 My Website 目标 我的
我在 PostGIS 和 PostgreSQL 中有一个包含 LINESTRING 列的表。我正在构建一个查询,该查询是将此表与其自身连接的结果,并且我知道每个连接的几何列(称它们为 geom),即第
我正在尝试编写一个 python 脚本来修改我正在解析的文件中 标记的内容。由于它的速度,我为此使用 lxml.html(而不是 BeautifulSoup 等)。 script 标签的内容包含在注
block ?
Prettier 通常在 HTML 上做得非常好,但会缩进 pre>code blocks。 我总是希望预>代码块不缩进。 似乎我应该能够在 .prettierignore 中配置它,但找不到可行的方
我已成功将 pdf 文件从 URL 加载到 Web View 。我想在触摸 webview 后获取坐标,将其数据发送到服务器,以在服务器端的该位置添加一些文本。问题是当 webview 缩放或滚动到第
我目前想要获取的只是 gd:email 的属性,即“address=”,目前仅此而已。我可以得到 xml 部分,哎呀,只要它在标签内,我什至可以得到任何给定的想法,但要获得任何给定的属性,就像我的情况
我是一名优秀的程序员,十分优秀!