ajax – 如何在CQ5中添加包含页面列表的下拉列表?
我有以下代码库与您分享列出通过
AJAX调用使用查询构建器获取的页面.我们必须传递URL和参数以从我们提供的URL中获取子页面.
我已经放了一些console.log来跟踪每个状态的值. <featurearticles jcr:primaryType="cq:Widget" fieldLabel="Article Pages" itemId="selectauthorId" name="./authorselect" type="select" xtype="selection"> <options jcr:primaryType="cq:WidgetCollection"/> <listeners jcr:primaryType="nt:unstructured" loadcontent="function(box,value) { CQ.Ext.Ajax.request({ url: '/bin/querybuilder.json',success: function(response,opts) { console.log('Response from the ajax'); var resTexts = $.parseJSON(response.responseText); var selectopts = []; console.log(resTexts); $.each(resTexts.hits,function(key,page) { console.log(page); selectopts.push({value: page['path'],text:page['name']}); }); console.log(selectopts); box.setOptions(selectopts); },params: { 'type' :'cq:Page','group.1_path' : '/content/<PROJECT_NAME>/Feature_Articles' } }); }" selectionchanged="function(box,value) { var panel = this.findParentByType('panel'); var articleTitle = panel.getComponent('articleTitleId'); CQ.Ext.Ajax.request({ url: value + '/_jcr_content/par/featurearticleintro.json',opts) { console.log('success now'); var resTexts = $.parseJSON(response.responseText); console.log(resTexts); },failure: function(response,opts) { console.log('server-side failure with status code ' + response.status); } }); }"/> </featurearticles> 如果你有更好的想法,我想知道这一点. 干杯, 解决方法
另一种方法是使用选择xtype的“options”属性,通过servlet或sling选择器从AJAX调用中获取下拉列表选项.小部件api(
http://dev.day.com/docs/en/cq/5-6/widgets-api/index.html – 搜索“selection”)为options属性说明了这一点:
因此,构建一个将使用JSON响应AJAX请求的servlet可能是一种更简洁的方法,然后将此servlet作为“options”属性.例如,属性可能类似于options =“/ libs / myServlet”或类似options =“$PATH.options.json”.这可能会使对话更清晰(不需要监听器),并且它使用内置的CQ功能通过AJAX获取选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – Linq group由不同表中的多个字段组成
- 巧用JSON.stringify()生成漂亮格式的JSON字符串
- cocos2dx 3.4 在线热更新 自动更新(使用AssetsManager更新
- React Native 0.21 发布 (翻译Changelog)
- XMLP之开发笔记
- 11.0.3.0 RAC 创建dg备库控制文件报RMAN-03002: RMAN-10038
- 解析xml流
- 解决SQLite database is locked
- 在Oracle net trace file中定位服务器版本和客户端版本
- Cocos2dx 3.10使用using namespace CocosDenshion;错误提示