我正在使用两个ng-repeat循环来初始化一个包含3列的表:user_name,script_name和cron_format。唯一的列用户应该能够更改是cron格式,但我想在其自己的<input>
标记中显示每个cron_format字符,因此当用户单击“分钟”值时,它将是唯一标记的而不是所有的cron_format。用户编辑cron_format后,我调用一个简单的函数来比较用户编辑后的整个cron_format。如果发生了变化,或者换句话说 - 用户编辑之前的cron_format!=用户编辑后的cron_format,函数将数据发布到服务器。
这是我的表:
<tbody ng-repeat="(user_id,row) in data">
<tr ng-repeat="(script_id, cron_format) in row" ng-init="oldCron = cron_format">
<td class="userName">{{user(user_id)}}</td>
<td class="scriptName">{{script(script_id)}}</td>
<td class="cronFormat">
<input type="text" ng-model="cron_format" ng-blur="saveCron(user_id,script_id,cron_format,oldCron)"/></td>
</td>
</tr>
</tbody>
我能够创建工作函数,上面的表工作正常,除了在一个输入字段中显示的整个cron_format。
我还能够将cron_format的每个字母放在单独的输入字段中,将cron_format <td>
更改为:
<input type="text" ng-repeat="letter in letters(cron_format) track by $index" value="{{letter}}" ng-blur="saveCron(user_id,script_id,cron_format,oldCron)"/></td>
但功能不起作用......这是功能+分割功能:
$scope.saveCron = function(userId,scriptId,cronFormat,oldCron){
if (oldCron != cronFormat) {
$.post("updateCronChange.php", "user_id=" + userId + "&script_id=" + scriptId + "&cron_format=" + cronFormat, function (data) {
alert('cron format changed to:' + cronFormat);
});
}
}
$scope.letters = function(rawname) {
var lettersarray = rawname.split('');
return lettersarray;
};
任何想法如何使函数工作并将每个cron_format字母放在单独的输入字段中,因此在更改一个字母后,将再次使用ng-blur
调用saveCron()函数并将整个cron与我初始化oldCron
??谢谢!