【问题标题】:Autocomplete suggestion box view fix Jquery Mobile自动完成建议框视图修复 Jquery Mobile
【发布时间】:2013-08-05 09:01:43
【问题描述】:

我使用 JQuery Mobile 为文本字段创建了自动完成功能。它正在工作并显示自动完成建议。但是自动完成列表的视图并不是正常的自动完成列表的样子。这是我的情况:

这里是 JQuery 函数:

$(function() {
    $('#project').autocomplete({
        source: "./SearchCustomer.php?term="+document.getElementById("project").value,
        minLength: 0,
        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 );
            return false;
        }
    })
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
    };
 });

这是 HTML:

<label for="name">Customer:</label>
<input type="text" name="project" id="project" value=""  />
<input type="hidden" id="project-id" />
<p id="project-description"></p>

请帮忙解决这个问题。

【问题讨论】:

    标签: javascript jquery html jquery-mobile


    【解决方案1】:

    当您以编程方式创建新元素时,您需要触发 create 事件以让 jquerymobile 增强它们。

    所以应该是这样的

    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li>" ).append( "<a>" + item.label + "</a>" )
                          .appendTo( ul )
                          .trigger( "create" );
    };
    

    this question about injected content in the JQM FAQ

    【讨论】:

    • 您可能还必须在触发创建事件之前声明
        是 data-role=listview。
    • 我该怎么做?请帮忙
    • 好的,我在返回语句之前添加了$(ul).attr('data-role', 'listview');。但不工作:(
    猜你喜欢
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多