初始化动态添加的X可编辑字段

时间:2014-06-20 07:21:02

标签: javascript angularjs x-editable

我想在dropzone.js thumnail部分添加动态可编辑字段?现在我知道添加了动态的Xeditable字段是初始化的。我正在尝试离子角度

小提琴: http://jsfiddle.net/NfPcH/2008/

代码:

 $scope.addfield = function()
    {
    jQuery('.dropzone').append('<a href="#" editable-text="user.name" onbeforesave"updateUser()">KKKKKKKKKK</a>');    
    };

点击“添加可编辑字段”后,会添加一个新字段,但不会进行初始化。

1 个答案:

答案 0 :(得分:0)

您不应使用jQuery添加新的xeditable元素。利用角度范围和消化机制。首先,我们需要一个数组作为模型,您应该迭代并在DOM中动态添加新的editable-text指令元素,让angular完成其工作并在适当的时间编译新添加的指令。

请参阅下面的一些代码段,它们可能会为您提供一个开始:

<强> JS:

// Holds your collection model.
$scope.items = [];

// [...]

var addNewItem = function() {
    $scope.items[$scope.items.length] = { name: 'name' + new Date().getTime(), label: 'New Label' };
}

// [...]

$scope.addfield = function() {
    //jQuery('.dropzone').append('<a href="#" editable-text="user.name" onbeforesave"updateUser()">KKKKKKKKKK</a>'); => don't do it this way!
    addNewItem();
};

<强> HTML:

<div action="/file-upload" class="dropzone" id="my-awesome-dropzone">
    <a class="spacer" href="#" ng-repeat="item in items" ng-bind="item.label + '-' + $index" editable-text="item.name" onbeforesave="updateUser()"></a>
</div>

看看这个工作fiddle