Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS获取单个模型记录,以便在Modal中编辑_Javascript_Angularjs_Twitter Bootstrap - Fatal编程技术网

Javascript AngularJS获取单个模型记录,以便在Modal中编辑

Javascript AngularJS获取单个模型记录,以便在Modal中编辑,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,这似乎应该很容易做到,但在谷歌搜索之后,我一直无法找到确切的答案。我是个新手,所以可能只是我不知道如何提出正确的问题 问题:我有一个表,正在使用ng repeat填充数据行。这很直截了当。但是,每行都有一个编辑按钮,按下该按钮时,将启动一个弹出窗口,可在其中编辑数据。因此,要对其进行编辑,弹出窗口的表单需要预先加载相应行的数据。当然,当点击弹出窗口的保存按钮时,页面模型应该被更新 简单地说,单击我想打开一个弹出窗口,其中包含一个表单,该表单预先填充了来自模型中一行的数据 我正在使用Twitter

这似乎应该很容易做到,但在谷歌搜索之后,我一直无法找到确切的答案。我是个新手,所以可能只是我不知道如何提出正确的问题

问题:我有一个表,正在使用
ng repeat
填充数据行。这很直截了当。但是,每行都有一个编辑按钮,按下该按钮时,将启动一个弹出窗口,可在其中编辑数据。因此,要对其进行编辑,弹出窗口的表单需要预先加载相应行的数据。当然,当点击弹出窗口的保存按钮时,页面模型应该被更新

简单地说,单击我想打开一个弹出窗口,其中包含一个表单,该表单预先填充了来自模型中一行的数据

我正在使用Twitter引导的模式

我的HTML:

<table class="table table-condensed table-hover">
    <thead>
        <tr><th>Code</th><th>Name</th><th>Business Functions</th><th>Description</th><th>Retention Period</th><th>Examples</th><th></th></tr>
    </thead>
    <tbody>
        <tr ng-repeat="record in InformationManagementRecords | filter:query">
            <td>{{record.RecordNumber}}</td>
            <td>{{record.ActivitiesCategoryName}}</td>
            <td>{{record.BusinessFunction}}</td>
            <td>{{record.ActivitiesCategoryDescription}}</td>
            <td>{{record.OfficialRetention}}</td>
            <td>{{record.TransactionExampleRecords}}</td>
            <td class="driverButtonsColumn">
                <div class="btn-group btn-group-xs">
                    <button type="button" class="btn btn-default btn-xs" title="Edit" ng-click="setModalData(record)" data-toggle="modal" data-target="#addEditModal"><span class=" glyphicon glyphicon-pencil"></span></button>
                </div>
            </td>
        </tr>
    </tbody>
</table>
我希望这是足够的信息

谢谢,


Aaron

您需要像这样复制对象:

$scope.setModalData = function(record) {
    $scope.record_to_edit = angular.copy(record);
}
创建了一个显示复制与克隆的小提琴示例:


将更容易使用用于引导的角度ui指令。很容易将数据传递给modalController,您可以选择与当前相同的记录方式,但在modalController中具有窗体范围,我可以使用AngularUI模式。我现在唯一的问题是获取我在模式中编辑的数据,以更新页面上的数据。AngularUI中提供的示例不是我想要的。示例是将数据发送回页面,但不更新页面的模型。嗯,我不太明白您在这里做什么。你能提供更多的信息吗?我想我不明白你为什么要做深度复制。为什么不直接使用“记录”本身呢?为了好玩,我把你的代码放在这里,就像你在这里一样,它并没有改变任何事情。我仍然有同样的问题。因此,这个答案可能是不完整的。好吧,你不必做深度复制,但是,如果你只是克隆对象,并且你做了更改并取消了更新,那么初始对象将应用不需要的更改。我在这里举了一个小提琴的例子:
$scope.setModalData = function(record) {
    $scope.record_to_edit = angular.copy(record);
}