我正在尝试使用类似于演示页面的过滤器创建自定义选择菜单:
http://demos.jquerymobile.com/1.4.5/selectmenu-custom-filter/
它适用于短名单:
但它不适用于长列表:
https://jsfiddle.net/pppzLbfu/
我一直收到错误:
SCRIPT5007:无法获取未定义或空引用的属性“jqmData”
我的完整代码是
df2 <- data.frame(yi = 0.15)
ggplot(data = df, aes(x = Outcome2, y = d, fill = study)) +
geom_bar(position = "dodge", stat = "identity") +
geom_hline(data = df2, aes(yintercept = yi, linetype = factor(yi)), show_guide = TRUE) +
scale_linetype_manual(name = "avg tx effect", values = "dashed", labels = "") +
guides(fill = guide_legend(override.aes = list(linetype = "blank")))
答案 0 :(得分:2)
如果你仍然需要,这里是解决方案: 演示本身有一些错误。这是一种方法:
// demo-dialog是添加的selectmenu(demo)+(-dialog)的ID //通过jQM动态创建自定义选择菜单
$(document).on("pagecreate", "#demo-dialog", function (e) {
var form = $("<form><input data-type='search'/></form>"),
page = $(this);
$(".ui-content", this)
.prepend(form);
form.enhanceWithin()
.on("keyup", "input", function () {
var data = $(this).val().toLowerCase();
$("li", page).addClass("ui-screen-hidden")
.filter(function (i, v) {
return $(this).text().toLowerCase().indexOf(data) > -1;
}).removeClass("ui-screen-hidden");
});
$(document).on("pagecontainerhide", function () {
$("#demo-menu li").removeClass("ui-screen-hidden");
$("input", form).val("");
});
});
供参考: https://forum.jquery.com/topic/cannot-read-property-jqmdata-of-undefined
答案 1 :(得分:0)
这似乎解决了我 - 在&#39; pagecontainerhide&#39;处理程序,更改中的参数 pageIsSelectmenuDialog函数来自&#39; data.toPage&#39;到&#39; data.prevPage&#39;如:
if ( !pageIsSelectmenuDialog( data.prevPage ) ) {
return;
}