Jquery mobile - 单击按钮添加到UL

时间:2013-09-04 11:17:23

标签: javascript jquery html css jquery-mobile

我正在尝试构建一个应用程序,当用户在基于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>

3 个答案:

答案 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并追加到指定的父元素。然后,它会在文本框中附加一个文本。

jsFiddle example