首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用val( )的JqueryUI自动完成回调函数不起作用

使用val( )的JqueryUI自动完成回调函数不起作用
EN

Stack Overflow用户
提问于 2011-12-19 04:51:04
回答 2查看 1.7K关注 0票数 1

我正在使用jqueryui自动完成,并且已经设置了一个使用ContentFlow的图片库搜索,当找到图像时,会显示一个小图标,用户可以用lightbox打开图像(漂亮的照片)

代码如下:

代码语言:javascript
复制
$(function() {
    var projects = [
        {
            value: "Alcatraz",
            label: "Alcatraz",          
            icon: "Alcatraz.jpg",
            url: "slides/Alcatraz.jpg",
            desc: "",
            imgN: "1"
        },
        {
            value: "Amber Light",
            label: "Amber Light",           
            icon: "Amber Light.jpg",
            url: "slides/Amber%20Light.jpg",
            desc: "",
            imgN: "2"
        },
        {
            value: "Blue Boat",
            label: "Blue Boat",         
            icon: "Blue Boat.jpg",
            url: "slides/Blue%20Boat.jpg",
            desc: "",
            imgN: "3"
        }
    ];

    $( "#project" ).autocomplete({
        minLength: 0,
        source: projects,
        focus: function( event, ui ) {
            $( "#project" ).val( ui.item.label );
            return false;
        },
        select: function( event, ui ) {
            $( "#project" ).val( ui.item.label );
            $( "#project-id" ).val( ui.item.value );                
            $( "#project-icon" ).attr( "src", "thumbs/" + ui.item.icon );
            $( "#project-description" ).html( ui.item.desc );
            $( "#project-label" ).html( ui.item.label );
            $( "#project-link" ).attr("href", ui.item.url );
            $( "#project-link" ).attr("title", ui.item.label );
            return false;
        },

        close: function() {
            var value = $( "#project" ).val( ui.item.imgN );
            cf.moveTo(value);
        }
    })
    .data( "autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a>" + item.label + " - " + item.desc + "</a>" )

            .appendTo( ul );
    };

});

HTML:

代码语言:javascript
复制
<div id="project-label">Search</div>
<a href="#" rel="prettyPhoto" class="" id="project-link"><img id="project-icon" src="res/transparent_1x1.png"/></a>
<input id="project"/>
<input type="hidden" id="project-id"/>
<p id="project-label"></p>
<p id="project-description"></p>

我遇到的问题是以下函数的问题:

代码语言:javascript
复制
close: function() {
            var value = $( "#project" ).val( ui.item.imgN );
            cf.moveTo(value);
        }

我需要图片库使用滚动到contentflow中的特定图像

代码语言:javascript
复制
 cf.moveTo();

我没有让我的代码返回这个值。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-19 23:17:21

经过试验和磨难,我找到了一种方法,让它与这个额外修改的代码一起工作:

代码语言:javascript
复制
        select: function( event, ui ) {

            $( "#project-imgN" ).val( ui.item.imgN );


            return false;
        },

        close: function(event, ui ) {
        function runEffect() {
        // get effect type from 
        var move = $( "#project-imgN" ).val();

        // run the effect
        cf.moveTo(move);
    };

     runEffect(); 
        }
    })
票数 1
EN

Stack Overflow用户

发布于 2011-12-19 04:54:21

当您使用val()时,您不应该输入用于设置值的参数,您只需要在您想要其值的元素上调用val()。

尝试:

代码语言:javascript
复制
  var value = $( "#project "+ui+"."+item+"."+imgN).val();

或者类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8554711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档