jQuery mobile listview-can';t将id添加到动态输入框 安装程序

jQuery mobile listview-can';t将id添加到动态输入框 安装程序,listview,jquery-mobile,Listview,Jquery Mobile,我正在使用jQuery Mobile 1.4.2创建一系列自动完成下拉控件。() 但是没有这样的id被添加到输入字段中。(如果我在页面加载后在Chrome控制台中运行该代码(用listview自己的id替换$(this)),它工作正常。因此我认为我编写的函数没有任何问题。) 我使用listviewcreate函数找到并试用了它。这似乎没有什么区别 还有什么我可能错过的吗?为什么它可以从控制台工作,但在页面加载时却不能工作 编辑:所以我的小提琴现在神秘地工作了。我想在我们的网站的某个地方还存在

我正在使用jQuery Mobile 1.4.2创建一系列自动完成下拉控件。()

但是没有这样的id被添加到输入字段中。(如果我在页面加载后在Chrome控制台中运行该代码(用listview自己的id替换
$(this)
),它工作正常。因此我认为我编写的函数没有任何问题。)

我使用
listviewcreate
函数找到并试用了它。这似乎没有什么区别

还有什么我可能错过的吗?为什么它可以从控制台工作,但在页面加载时却不能工作


编辑:所以我的小提琴现在神秘地工作了。我想在我们的网站的某个地方还存在其他一些问题,这些问题不能用这个最小的例子来重现



另一个编辑:
$(e.target).prev(“表单”)
似乎没有任何内容。

创建过滤器输入的延迟是由新的小部件造成的。不要听
listviewcreate
事件,而是听一个。并使用
.prop()
而不是
.attr()


它正在工作,更新jQM 1.4库我正在使用最新的库。检查控制台我知道如何使用开发工具和控制台来检查源代码。没有添加ID。我不是在质疑你的技能。ID被添加到
输入
,并打印在控制台日志
console.log()
中。
<ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-theme="b" id="listview-XXXXXX">
    <li class="ui-screen-hidden"><a href="#">Text</a></li>
    ...
</ul>
<form class="ui-filterable">
    <div class="ui-input-search ui-shadow-inset ui-input-has-clear ui-body-b ui-corner-all">
        <input data-type="search" placeholder="Filter items...">
        <a href="#" class="ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all ui-input-clear-hidden" title="Clear text">Clear text</a>
    </div>
</form>
<ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-theme="b" id="listview-XXXXXX" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
    <li class="ui-screen-hidden"><a href="#" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Text</a></li>
</ul>
$(document).on("listviewcreate", "", function (e, ui) {
    var newId = "question-" + e.target.id.substr(9);
    $(e.target).prev("form").find("input")attr("id", newId);
});
$(document).on("filterablecreate", function (event, ui) {
  var newId = "question-" + $(event.target)[0].id.substr(9),
  $(event.target).prev("form").find("input").prop("id", newId);
});