我正在尝试构建一个应用程序,当用户在基于jquery的移动应用程序上的文本框中输入文本并单击保存时,它会将其添加到屏幕上的列表中
所以默认情况下我没有列表,但是当用户添加项目时,应该创建列表,或者如果列表已经存在,则新项目将作为新列表项目添加。
在保存方面我将继续努力,目前我只是想在屏幕上动态追加到jqm中的ul
有人可以协助处理可能对此有所帮助的代码。它给了我一个项目添加说“项目未定义”但是numslist是我的列表和txtbox是文本框所以我不知道我哪里出错了
感谢
<script>
var $txtbox = $("#txtbox").val();
var count = 0;
$("#main").live("pagecreate", function(event) {
$("#numlist").listview({create: function(event, ui) {
$("#addBtn").bind("click", function(event, ui) {
var str = "<li><a href='#'>Item " + ($txtbox) + "</a></li>";
$("#numlist").append(str);
$("#numlist").listview("refresh");
});
$("#removeBtn").bind("click", function(event, ui) {
// if (--count < 0) {
// count = 0;
// return;
// }
$("#numlist").find("li").remove();
$("#numlist").listview("refresh");
});
}});
});
</script>
答案 0 :(得分:0)
好吧,您可以使用localstorage,这样您就不需要编写保存/存储数据的额外函数。
答案 1 :(得分:0)
试试这个:
var $lst = $('#productList');
$("#btnID").on("click",function() {
var $txtBox = $("#txtBox");
var $li = $('<li/>').html($txtBox.val());
$lst.append($li).listview('refresh');
$txtBox.val("");
});
在这里工作小提琴:http://jsfiddle.net/REthD/21/
答案 2 :(得分:0)
如果我理解你的问题,那么类似于以下的内容应该对你有用:
$('input[type=button]').on('click', function() {
var ul = $('#ul_id').length > 0 ? $('#ul_id') : $('<ul />', { id: 'ul_id'}).appendTo('#parent');
$('<li />').text($('#textbox').val()).appendTo(ul);
});
事件中的第一行将检查元素是否存在,如果存在,则返回该元素,否则,创建一个new并追加到指定的父元素。然后,它会在文本框中附加一个文本。