在jQuery Mobile中将项目动态添加到Listview中

Dynamically add items to Listview in jQuery Mobile

本文关键字:添加 Listview 动态 jQuery Mobile 项目      更新时间:2023-09-26

我在jQuery mobile中向列表视图动态添加项目时遇到了一些问题。基本上,我希望用户在文本框中输入的内容都能添加到列表中。我有以下代码,无法理解为什么没有出现所需的输出。

<script>
  var listCreated = false;
  function appendToList() {
    if(!listCreated) {
      $("#items").append("<ul id='list' data-role='listview' data-inset='true'></ul>");
      listCreated = true;
      $("#items").trigger("create");
    }
    $("#list").append("<li>");
    $("#list").append(document.getElementById(item).value);
    $("#list").append("</li>");
    $("#list").listview("refresh");
  }
</script>
<div data-role="content">
  <div id="items"></div>
  <input type="text" id="item" />
  <input type="button" value="Add item to list" onclick="appendToList()"/>
</div>

尝试创建整个li,然后追加,现在,您正在将一个打开的<li>追加到列表中,然后将值追加到列表,而不是新的li

var value = $("#item").val();
var listItem = "<li>" + value + "</li>";
$("#list").append(listItem);

演示:http://jsfiddle.net/DVbGY/1/