在jQuery UI自动完成中使用if语句

红巨人

是否可以在response事件和渲染项实现中设置if语句我有两个json文件,并在#searchbox和中使用数据属性.searchbar来获取url。由于文件对象不同,我想我需要使用两个不同的响应和标记。我可以设置开关语句还是以下语句?我的代码出现某种未定义的错误。

Uncaught TypeError: undefined is not a function jquery.js:9597

我可以看到返回了json文件,但是没有显示自动完成功能。有什么建议?

的HTML

<input type='text' data-search="jsonfileA" id="searchbox">
<input type='text' data-search="jsonfileB" class="searchbar">

代码:

$( "#searchbox,.searchbar" ).each(function(){
    var search = $(this).data('search');
    $(this).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: search,
                dataType:"json",
                data:{q:request.term},
                success: function( data ) {
                 response($.map(data.products, function( item)
                   { 
                    if ($(this).is('#searchbox')) {
                       return {
                        label:item.name,
                        category:item.category
                        }
                   }else {
                       return { 
                       title:item.title,
                       description:item.description
                       }
                    }  
                   });
                 )};
            });
        }
    })
    .data("ui-autocomplete")._renderItem = function(ul, item) {
        var inner_html;
        if ($(this).is('#searchbox')) {  
            inner_html = ''+item.label+'<p>'+item.category+'';
        }
        else {
            inner_html = ''+item.title+'<p>'+item.description+'';
        }
        return $("<li></li>")
        .data("item.autocomplete", item)
        .append(inner_html)  
        .appendTo(ul);
    };
});
jk。

var $this = $(this).each函数内部声明,然后用于函数中$this引用自动完成功能。input.each.ajax

小提琴的例子

$( "#searchbox,.searchbar" ).each(function(){

    var $this = $(this), // declared here
        search = $this.data('search'); // used here

    $this.autocomplete({ // used here
        source: function( request, response ) {
            $.ajax({
                url: search,
                dataType:"json",
                data:{q:request.term},
                success: function( data ) {
                 response($.map(data.products, function( item)
                   { 
                    if ($this.is('#searchbox')) { // used here
                       return {
                        label:item.name,
                        category:item.category
                    }
                   } else { 
                   // rest of your code - replace any remaining references to the autocomplete input with $this

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeScript中使用jQuery UI自动完成时出错

来自分类Dev

使用jQuery UI自动完成的tokenfield

来自分类Dev

如何在JQuery UI自动完成中使用source:function()...和AJAX

来自分类Dev

jQuery UI,HTML自动完成

来自分类Dev

JQuery UI 自动完成很慢

来自分类Dev

如何在旧版jQuery UI中使jQuery UI自动完成功能正常工作?

来自分类Dev

在Javascript弹出窗口中使用Jquery /自动完成

来自分类Dev

自动完成功能无法在jQuery中使用

来自分类Dev

如何在 JQuery 自动完成中使用 XMLHttpRequest?

来自分类Dev

如何使Rails 4使用Jquery UI自动完成功能?

来自分类Dev

jQuery UI使用Ajax来自动完成数据

来自分类Dev

jQuery ui自动完成与使用nuget的基础安装冲突

来自分类Dev

使用jquery-ui自动完成搜索-不起作用

来自分类Dev

使用SQL,PHP在CodeIgniter中实现jQuery UI自动完成

来自分类Dev

使用 JQuery UI 自动完成和 Dbpedia 作为源

来自分类Dev

jQuery提到jQuery UI自动完成

来自分类Dev

对图像使用Jquery自动完成

来自分类Dev

使用jQuery自动完成城市

来自分类Dev

对图像使用Jquery自动完成

来自分类Dev

使用JQuery插件自动完成

来自分类Dev

使用JQuery从对象自动完成

来自分类Dev

多个JQuery UI自动完成选择

来自分类Dev

jQuery UI自动完成问题

来自分类Dev

jQuery UI自动完成奇怪的行为

来自分类Dev

jQuery UI自动完成和隐藏字段

来自分类Dev

没有jQuery UI的自动完成

来自分类Dev

jQuery UI自动完成minLength提示

来自分类Dev

jQuery UI自动完成显示错误的值

来自分类Dev

jQuery UI自动完成解析数据