我想将ckeditor文本绑定到ng-model文本
我的看法
<fieldset>
<legend>Post to: </legend>
<div class="control-group">
<label class="control-label">Text input</label>
<div class="controls">
<div class="textarea-wrapper">
<textarea id="ck_editor" name="text" ng-model="text" class="fullwidth"></textarea>
</div>
<p class="help-block">Supporting help text</p>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Post</button>
<button class="btn">Cancel</button>
<button class="btn" onclick="alert(ckglobal.getDate())">Cancel123</button>
</div>
控制者
function PostFormCtrl($scope, $element, $attrs, $transclude, $http, $rootScope) {
$scope.form = $element.find("form");
$scope.text = "";
$scope.submit = function() {
$http.post($scope.url, $scope.form.toJSON()).
success(function(data, status, headers, config) {
$rootScope.$broadcast("newpost");
$scope.form[0].reset();
});
};
$scope.alert1 = function(msg) {
var sval = $element.find("ckglobal");
//$('.jquery_ckeditor').ckeditor(ckeditor);
alert(sval);
};
}
PostFormCtrl.$inject = ["$scope", "$element", "$attrs", "$transclude", "$http", "$rootScope"];
我想在表单提交时在$ scope.text中设置ckeditor值
提前
CKEditor在键入时不会更新文本区域,因此您需要注意这一点。
这是一条使ng-model绑定与CK配合使用的指令:
angular.module('ck', []).directive('ckEditor', function() {
return {
require: '?ngModel',
link: function(scope, elm, attr, ngModel) {
var ck = CKEDITOR.replace(elm[0]);
if (!ngModel) return;
ck.on('pasteState', function() {
scope.$apply(function() {
ngModel.$setViewValue(ck.getData());
});
});
ngModel.$render = function(value) {
ck.setData(ngModel.$viewValue);
};
}
};
});
在html中,只需使用:
<textarea ck-editor ng-model="value"></textarea>
先前的代码将在每次更改时更新ng-model。
如果只想在保存时更新绑定,请覆盖“保存”插件,以执行除“保存”事件以外的任何操作。
// modified ckeditor/plugins/save/plugin.js
CKEDITOR.plugins.registered['save'] = {
init: function(editor) {
var command = editor.addCommand('save', {
modes: {wysiwyg: 1, source: 1},
readOnly: 1,
exec: function(editor) {
editor.fire('save');
}
});
editor.ui.addButton('Save', {
label : editor.lang.save,
command : 'save'
});
}
};
然后,在指令中使用此事件:
angular.module('ck', []).directive('ckEditor', function() {
return {
require: '?ngModel',
link: function(scope, elm, attr, ngModel) {
var ck = CKEDITOR.replace(elm[0]);
if (!ngModel) return;
ck.on('save', function() {
scope.$apply(function() {
ngModel.$setViewValue(ck.getData());
});
});
}
};
});
问题内容: 我在将单选按钮绑定到其属性具有布尔值的对象时遇到问题。我正在尝试显示从$ resource获取的考试题。 HTML: JS: 对于此示例对象,“ isUserAnswer:true”属性不会导致选中单选按钮。如果我将布尔值封装在引号中,则可以使用。 JS: 不幸的是,我的REST服务将该属性视为布尔值,并且很难更改JSON序列化以将这些值封装在引号中。还有另一种方法可以设置模型绑定而不
我在一个razorpage上有一个单选按钮,像这样 表单的模型如下所示 和SQL的模型如下所示 而SQL中的CostCenter的数据类型是varchar(80) 当我保存表单时,CostCenter没有绑定到SQL中的任何值,它将保持为NULL,但表单的其余值将正确保存 那是什么原因造成的呢? 如果选择了“proj”,我想保存值“proj”,如果选择了“dep”,我想保存值“dep” 谢谢 托玛
我有一个如上所述的下拉列表,并希望将所选值绑定到模型的字段(类型为) 但是,无论我选择哪个项目,字段始终为空!它甚至不是可空类型
在rails应用程序中使用AngularJS时,我遇到了一个问题:编辑记录时,文本字段的值设置为空。有没有办法告诉AngularJS使用rails给表单元素的值作为初始值? 我准备了一个JSFIDLE来演示我遇到的问题: http://jsfiddle.net/YUza7/15/
问题内容: 我试图弄清楚如何将AngularJS范围变量绑定到CSS语法中。我认为问题出在花括号中。这是我基本上想做的事情: 关于如何实现这一目标的任何想法?谢谢! 问题答案: 如此处所述, angular不会在样式标签内的内容上运行。在那篇文章中有一个解决方法,但是作为一种更灵活的方法,我只是创建一个指令来获取内容,解析它们并替换: 更新的答案 用法: http://jsfiddle.net/V
问题内容: 升级到1.2后,我的服务返回的promise行为有所不同…简单服务myDates: 在早期版本中,我可以在控制器中执行以下操作: 从getDates返回的promise可以直接绑定到Select元素。现在这不起作用,我被迫在控制器中对promise进行回调,否则数据将无法绑定: 文档仍然说: $ qpromise由模板引擎以角度识别,这意味着在模板中,您可以将附加到作用域的promis