0

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

3 回答 3

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);
});

事件的第一行将检查元素是否存在,如果存在,则返回该元素,否则,创建一个新元素并附加到指定的父元素。然后,它将 a 附加到来自文本框中的文本。

jsFiddle 示例

于 2013-09-04T11:42:39.273 回答
0

好吧,您可以使用本地存储,这样您就不需要编写额外的函数来保存/存储数据。

于 2013-09-04T11:30:51.240 回答
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/

于 2013-09-04T11:39:10.403 回答