使用jQuery自动完成与非标准选项
Using jQuery autocomplete with non-standard options?
我想在Drupal项目中使用jQuery的自动完成功能来自动查找具有给定标题的节点(内容块)。我找不到任何与我想做的相匹配的选项用法的例子,这是:
- URL需要符合以下模式:/api/node/title/{无论用户键入什么}
- 当结果以JSON形式返回时,标题需要在自动完成列表中使用
- 当点击一个结果时,一个包含标题的样式段落将出现在文本框上,但它实际上包含所选节点的节点id (nid)。
到目前为止我写的是:
jQuery(this).autocomplete({
source: '/api/node/title/'+jQuery(this).val(),
minLength: 2
}).data( "autocomplete")._renderItem = function(ul, item) {
return jQuery('<li />')
.data("item.autocomplete", item)
.appendTo(ul);
};
我甚至还没有得到担心做什么一旦一个元素被选中- URL是出去/api/node/title?term={blank},即使我得到JSON结果,也没有出现任何内容。有什么建议或类似用法的例子吗?jQuery UI网站上的自动完成示例并不是特别有用。
编辑:这是一个期望响应的例子。
{
"nid":"2",
"vid":"2",
"type":"lorem",
"language":"und",
"title":"Grid Computing",
"uid":"0",
"status":"1",
"created":"1320092886",
"changed":"1320273538",
"comment":"1",
"promote":"1",
"sticky":"0",
"tnid":"0",
"translate":"0"
}
for 1),您可以对源
使用回调$('input').autocomplete({
source: autoDrupal,
minLength: 2});
function autoDrupal(requestObject, responseCallback) {
var url = '/api/node/title/' + requestObject.term;
$.get(url, function(data) {
// check my fiddle to transform drupal response in autocomplete result ;)
responseCallback(data);
});
};
for 2)我不明白你所说的"title"是什么意思,但它肯定可以在$.get的响应中处理对于3)事件处理程序可以做到这一点(一旦我理解了你可怕的"标题")。像这样:
$('ul.ui-autocomplete').delegate('li', 'click', function () {
$('#stuff').css('color', 'red');
})
检查和演奏小提琴;)
相关文章:
- 获取非标准模式中的子字符串
- 禁用多个选择元素中的非“选定”选项,但使用 jquery 的一个除外
- 选择非空选项后,默认选项消失
- 非活动选项卡容器内的选定宽度问题
- 是否可以使用chrome扩展名与非活动选项卡中的内容元素进行交互
- 使用Javascript为select标记添加非标准属性
- 禁用对单个非映射选项字段的验证检查
- 在 angularjs 中适应非标准属性
- 替换/限制 CKEDITOR 中的非标准字符
- 树中节点的非标准检查
- 如何获取上一个/下一个非禁用选项的索引(相对于所选选项)
- setInterval() 对于非活动选项卡无法正常工作
- 使用实时修复修复非活动选项卡中的Javascript动画计时
- 使用非标准REST API的Ember数据
- 捕获(屏幕截图)非活动选项卡
- 使用非标准密钥长度调用CryptoJS.AES.encrypt/decrypt时,如何处理AES密钥
- 为什么在DOM中插入中间非标准元素会破坏flex框
- 解析非标准 JSON
- 如何从angular.js中的非标准目录加载部分文件?
- 使用jQuery自动完成与非标准选项