使用 Javascript 动态构建 CAML

发布于 2024-12-22 18:04:20 字数 541 浏览 1 评论 0原文

我正在寻找在 JavaScript 中创建 CAML 构建器的函数或代码片段或一些入门帮助。

构建嵌套 OR 应该不是问题,例如 (pid == 101 || pid == 102 || pid == 105) 这只是将两个一组包装在标签中的情况。与 AND 类似。

我遇到困难的地方是在同一查询中组合 OR 和 AND。通常,我们会有一系列下拉框或复选框供用户选择。他们可以选择不选择某些字段,这就是为什么我需要动态构建 CAML,而不是准备好将其注入到适当的位置。

编辑: 这是我到目前为止所拥有的 http://jsfiddle.net/QSPj2/4/

到目前为止,它只构建一系列 OR或一系列 AND。您传入一个对象数组。每个对象都有字段、比较、类型和值。 CAML 构建器将采用该数组并生成正确嵌套的 AND 或 OR。在输出 CAML 上使用 Dreamweaver 格式化工具或类似工具以使其更易于阅读。

尝试将 AND 与 OR 结合起来会变得更加棘手。

I'm looking for a function or code snippet or some starting help in creating a CAML builder in JavaScript.

Building nested ORs shouldn't be a problem, e.g. (pid == 101 || pid == 102 || pid == 105)
It's just a case of wraping groups of two in tags. Similar for AND.

Where I'm struggiling is combining ORs and ANDs in the same query. Generally we will have a series dropdown boxes or checkboxes the user selects from. They can choose the not select certain fields which is why I need to build the CAML dynmically rather than have it ready to go and just inject the values into the appropriate places.

EDIT:
Here's what I have so far
http://jsfiddle.net/QSPj2/4/

So far it only builds either a series of ORs or a series of ANDs. You pass in an array of objects. Each object has field, comparison, type and value. The CAML builder will take this array and generate properly nested ANDs or ORs. Use Dreamweaver formatting tool or similar on the output CAML to make it easier to read.

It gets going to get a lot more tricky trying to combine ANDs with ORs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文