Jquery 修改Listbox集合会导致语法错误
我正在使用Kendo UI的列表框,但每当我尝试在数据源中添加/删除项时,jQuery.min文件中就会出现以下语法错误:Jquery 修改Listbox集合会导致语法错误,jquery,kendo-ui,Jquery,Kendo Ui,我正在使用Kendo UI的列表框,但每当我尝试在数据源中添加/删除项时,jQuery.min文件中就会出现以下语法错误: Error: Syntax error, unrecognized expression: <li class='k-item' role='option' aria-selected='false'>My Item</li> 错误:语法错误,无法识别的表达式:我的项目 这是我的标记: <script type="text/x-kendo-
Error: Syntax error, unrecognized expression: <li class='k-item' role='option' aria-selected='false'>My Item</li>
错误:语法错误,无法识别的表达式:我的项目
这是我的标记:
<script type="text/x-kendo-template" id="roles-permissions-edit">
<div class="hpanel hblue">
<div class="panel-heading hbuilt">
Permissions - <span data-bind="text: roleName"></span>
<div class="panel-tools">
<a class="showhide"><i class="fa fa-chevron-up"></i></a>
</div>
</div>
<div class="panel-body">
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<a class="k-button btn-xs" href="#/">
<i class="fa fa-arrow-left"></i>
Roles
</a>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<label for="role-permissions-available">Available</label>
<select id="role-permissions-available"></select>
</div>
<div class="col-sm-6">
<label for="role-permissions-selected">Selected</label>
<select id="role-permissions-selected"></select>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<button type="button" class="k-button" data-bind="click: save">Save</button>
<button type="button" class="k-button" data-bind="click: reset">Reset</button>
</div>
</div>
</div>
</div>
</div>
</script>
许可-
可用
挑选出来的
拯救
重置
这就是我初始化小部件的方式:
var available = $("#role-permissions-available").data("kendoListBox");
var selected = $("#role-permissions-selected").data("kendoListBox");
var availableDataSource = [];
var selectedDataSource = [];
var filter = {
RoleId: _viewModel.edit.roleId
};
_viewModel.permissionDataSource.read(filter).then(function () {
var data = _viewModel.permissionDataSource.data();
var roleHasSystemAction = function (systemActionId) {
return data.filter(function (item) {
return item.SystemActionId === systemActionId;
}).length > 0;
};
for (var i = 0; i < _viewModel.systemActions.length; i++) {
var systemAction = _viewModel.systemActions[i];
if (roleHasSystemAction(systemAction.SystemActionId)) {
selectedDataSource.push(systemAction);
} else {
availableDataSource.push(systemAction);
}
}
available.setDataSource(availableDataSource);
selected.setDataSource(selectedDataSource);
});
var available=$(“#角色权限可用”).data(“kendoListBox”);
所选变量=$(“#所选角色权限”).data(“kendoListBox”);
var availableDataSource=[];
var selectedDataSource=[];
变量过滤器={
RoleId:_viewModel.edit.RoleId
};
_viewModel.permissionDataSource.read(filter).then(function(){
var data=_viewModel.permissionDataSource.data();
var roleHasSystemAction=函数(systemActionId){
返回数据.过滤器(函数(项){
return item.SystemActionId==SystemActionId;
}).长度>0;
};
对于(变量i=0;i<_viewModel.systemActions.length;i++){
var systemAction=_viewModel.systemActions[i];
if(角色助理系统操作(systemAction.SystemActionId)){
选择数据源。推送(系统操作);
}否则{
availableDataSource.push(系统操作);
}
}
available.setDataSource(availableDataSource);
selected.setDataSource(selectedDataSource);
});
为了澄清,我的小部件初始化得很好,数据源中的数据看起来也很好。问题来自尝试在ListBox小部件之间添加/删除项目
更新
这个问题很快就解决了,我觉得有点傻,我没有先看这个。我使用的jQuery版本是jQueryV1.9.1。升级它解决了这个问题
更新#2我在上提交了一个bug,因为根据文档,它应该与will jQuery v1.9.1兼容