gpt4 book ai didi

jquery mobile listview隐藏和显示然后无法搜索

转载 作者:行者123 更新时间:2023-12-01 05:57:17 27 4
gpt4 key购买 nike

使用 Jquery Mobile 1.2 时存在一个问题,如果您有一个 ListView ,并且隐藏然后显示 subview ,则无法搜索到该 subview 。

无需用文字解释,请看这个: http://jsfiddle.net/bodgybrothers/bw2ZV/

加载时它会创建两个 ListView 子项和搜索框。然后它隐藏并显示第二个 child 。通过搜索此列表,即使没有搜索匹配,也始终会显示第二个子项。

我相信这是 jquery mobile 中的一个错误,但想知道是否有解决方法可以使所有元素在 show 方法之后都可搜索。

$('#li-nav').append('<li id="1"><a href="#page1">Page 1</a></li>')
$('#li-nav').append('<li id="2"><a href="#page2">Page 2</a></li>').listview('refresh');
$('#2').hide();
$('#2').show();

编辑:我找到了一种方法,该方法返回到 javascript 而不是使用 jquery 库。隐藏和显示函数如下所示:

function showStuff(id) {
document.getElementById(id).style.display = '';
}
function hideStuff(id) {
document.getElementById(id).style.display = 'none';
}

更新了 JSfiddle http://jsfiddle.net/bodgybrothers/uwnCY/

最佳答案

您已经有了解决方法,但另一个更简单的解决方法(对于那些遇到同样问题的人) - 是执行 addClass("hide") 或 removeClass("hide") 而不是 .show/.hide。这不再破坏搜索。

css:
.hide {display:none;}

JQuery:
$('#li-nav').append('<li id="1"><a href="#page1">Page 1</a></li>');
$('#li-nav').append('<li id="2"><a href="#page2">Page 2</a></li>');
$('#li-nav').listview('refresh');
$('#2').addClass('hide');
$('#2').removeClass('hide');
('<li>').listview('refresh');

参见jsfiddle:http://jsfiddle.net/Q8Cfj/1/

关于jquery mobile listview隐藏和显示然后无法搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14396500/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com