我查看了这个post以显示所选listview li元素的值,但它对我不起作用。
我正在动态创建列表视图 -
$.post ("/Search", { "type":"tz" }, function(data) {
var d = data.timezones;
var catList = "<ul id='tzlist' data-role='listview' data-filter='true' data-filter-reveal='true' data-filter-placeholder='search timezone...' data-inset='true'>";
$.each (d, function(i, item)
{
catList += "<li><a href='' onclick='seltz(this);'>";
catList += item.tzone;
catList += "</a></li>";
});
catList += "</ul>";
$(sName).empty();
$(sName).append(catList);
$(sName).trigger("create");
}, "json");
onclick功能是 -
function seltz(el) {
var txt=$(el).text();
alert(txt);
$(this).closest("ul").prev("form").find("input").val(txt);
}
警报显示所点击的li项目的正确值,但输入未反映该值。 任何想法为什么这可能不起作用?
提前致谢。
RD
答案 0 :(得分:0)
行。所以我搜索了其他帖子并意识到需要进行哪些更改。 首先,我更改了我的功能并删除了onclick调用 -
$.post ("/whnwh/Search", { "type":"tz" }, function(data)
{
var d = data.timezones;
var catList = "<ul id='tzlist' data-role='listview' data-filter='true' data-filter-reveal='true' data-filter-placeholder='search timezone...' data-inset='true'>";
$.each (d, function(i, item)
{
catList += "<li>";
catList += item.tzone;
catList += "</li>";
});
catList += "</ul>";
$(sName).empty();
$(sName).append(catList);
$(sName).trigger("create");
}, "json");
然后,在html文件中,我添加了这个回调 -
$("#timezone").on("click", "li", function () {
window.seltz = $(this).text();
$(this).closest("ul").prev("form").find("input").val(window.seltz);
$("#timezone li" ).addClass('ui-screen-hidden');
});
这解决了在搜索输入小部件中显示所选li项的问题。
jquery开发人员 - 这是一个简单但经常需要的任务,应该添加到listview api。
我还有另外一个问题。上面的代码允许用户从列表视图中选择时区。如果我知道用户的时区,我该如何预先填充输入小部件?我尝试了与上面相同的回调,但它不起作用。有什么想法吗?
由于
RD