col1我已经尝试按照几个建议将jquery自动完成编辑器添加到我的SlickGrid(2.0)中,但我一直收到错误:
对象不支持此属性或方法
以下是我要开始的内容:
(function($) {
// register namespace
$.extend(true, window, {
"Slick": {
"Editors": {
"Auto": AutoCompleteEditor,
"SelectDD": SelectBoxEditor,
"Select": SelectBoxEditor2,
"Text": TextEditor,
"Text2": IntegerCellEditor
}
}
});
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
function AutoCompleteEditor(args) {
var $input;
var defaultValue;
var scope = this;
var calendarOpen = false;
this.init = function () {
$input = $("<INPUT id='tags' class='editor-text' />");
$input.appendTo(args.container);
$input.focus().select();
$input.autocomplete({
source: availableTags
});
};
this.destroy = function () {
$input.autocomplete("destroy");
};
this.focus = function () {
$input.focus();
};
this.loadValue = function (item) {
defaultValue = item[args.column.field];
$input.val(defaultValue);
$input[0].defaultValue = defaultValue;
$input.select();
};
this.serializeValue = function () {
return $input.val();
};
this.applyValue = function (item, state) {
item[args.column.field] = state;
};
this.isValueChanged = function () {
return (!($input.val() == "" && defaultValue == null)) && ($input.val() != defaultValue);
};
this.validate = function () {
return {
valid: true,
msg: null
};
};
this.init();
}
这里是网格的相关部分:
var columns = [
{id:"col1", name:"test", field:"col1", width:135, editable:true, cssClass:"pad-4-left", sortable:true, editor:Slick.Editors.Auto},
我已经包含了所谓的依赖性:
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" media="all" />
<script type="text/javascript" src="js/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui.js"></script>
任何建议都会很棒。
由于
答案 0 :(得分:0)
更新 -
事实证明,我从这个jquery模块中得到了干扰:jquery-ui-1.8.16.custom.min.js。
我做了一个解决方法,还需要使用早期版本的jquery.min(jquery-1.7.2.min.js),因为后来的1.8.3版本也在我现有的应用程序中抛出了错误。
两个“修复”都已实施,现在我已经开始了。运行