用ng-repeat分隔单词后用ng-click调用函数(字母用字母)

时间:2015-02-13 07:46:33

标签: javascript jquery angularjs

我正在使用两个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 ??谢谢!

0 个答案:

没有答案