【发布时间】:2021-09-20 22:47:13
【问题描述】:
我正在使用 jQuery QueryBuilder 插件。我启动了我的 queryBuilder,然后使用 SQL Parser 从 SQL 设置规则。
之后,我想将我的 queryBuilder 设置为只读,这意味着 queryBuilder 将被禁用。您将无法添加其他规则或更改当前规则。
根据文档,它应该是 this 但无法使其工作。
$('#queryBuilder').queryBuilder('setRulesFromSQL', { flags: {
filter_readonly: true,
operator_readonly: true,
value_readonly: true,
no_delete: true },
rules: ["name in ('Alex','Adam')"] });
任何建议请我做错了什么?非常感谢。
$(document).ready(function() {
$('#queryBuilder').queryBuilder({
filters: [
{ id: 'name',
label: 'Name',
type: 'string',
value_separator: ',',
operators: ['in']
}
]
});
// here I set the rule from sql query without ready only feature and it works fine
$('#queryBuilder').queryBuilder('setRulesFromSQL', "name in ('Alex','Adam')");
//Here I want to update the previous method to include read only feature.
//There will be only that rule and you can't change it.
//I couldn't make it work although I believe I did write the correct syntax
$('#queryBuilder').queryBuilder('setRulesFromSQL', { flags: {
filter_readonly: true,
operator_readonly: true,
value_readonly: true,
no_delete: true },
rules: ["name in ('Alex','Adam')"]
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel='stylesheet' href="https://cdn.jsdelivr.net/npm/jQuery-QueryBuilder@2.5.2/dist/css/query-builder.default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jQuery-QueryBuilder@2.5.2/dist/js/query-builder.standalone.min.js"></script>
<script src="https://querybuilder.js.org/node_modules/sql-parser-mistic/browser/sql-parser.min.js"></script>
<div id="queryBuilder"></div>
【问题讨论】:
-
我不确定我是否理解,这 2 个 sn-ps 是不同的 - 第一个是
flags,第二个是filters。此外,第一个有语法问题 - 你应该用{}包装第二个参数对象。 -
@MoshFeu 第二个 sn-ps 正在工作,但没有只读权限。我想对其进行调整以包括只读。第一个 sn-p 是我根据文档和语法尝试的方式,但它不适合我。我在这里和 github 上检查了不同的线程,但没有发现与我类似的问题。这就是为什么我发布了 2 个 sn-ps。第二个在没有准备好的情况下工作正常,但是当我将它更新为只读功能时,它对我不起作用。正如你提到的,我确实包装了第二个参数,但仍然无法正常工作
标签: javascript jquery jquery-plugins javascript-objects query-builder