JQuery:将项目添加到列表并保留项目计数
JQuery: adding items to list and keeping count of items
我有一个项目列表(为此我只包含一个),我正在尝试将更多项目添加到我的列表中。 虽然我可以在列表末尾插入一个新项目,但我无法设置要设置的 ID 号,它总是显示为 0。
<script>
var count = $("#playlist").children().length;
$(document).ready(function(){
$("button").click(function(){
$("ul").append(
$('<li>').attr('id', 'list['+ count +']').append(
$('<div>').attr('class','item').append(
$('<fieldset>').append(
"<input id='list[i][name]' name='list[i][name]' type='text' class='auto' size='40' value ='NEW "+ count +"'>"
)
)
)
)
})
});
</script>
</head>
<body>
<div class='holder'>
<ul id="playlist">
<li id='list[1]' ><div class='item'><fieldset>
<input id='list[1][name]' name='list[1][name]' type='text' class='auto' size='40' value ='one' />
</fieldset></div></li>
</ul>
<br>
<button>Add new list item</button>
</div>
将 count
变量放在事件侦听器中,因此在单击
$(document).ready(function() {
$("button").click(function() {
var count = $("#playlist").children().length;
$("ul").append(
$('<li>').attr('id', 'list[' + count + ']').append(
$('<div>').attr('class', 'item').append(
$('<fieldset>').append(
"<input id='list[i][name]' name='list[i][name]' type='text' class='auto' size='40' value ='NEW " + count + "'>"
)
)
)
)
})
});
现在,您在文档加载之前获得count
,当#playlist
甚至无法访问时,因此计数始终0
。
您没有计算每次点击的计数或者如果您不打算删除它们,则可以将其递增 1
请参阅以下示例https://jsfiddle.net/ammar08429/1bLh6dqk/1/
$(document).ready(function(){
$("button").click(function(){
var count = $("#playlist").children().length;
$("ul").append(
$('<li>').attr('id', 'list['+ count +']').append(
$('<div>').attr('class','item').append(
$('<fieldset>').append(
"<input id='list[i][name]' name='list[i][name]' type='text' class='auto' size='40' value ='NEW "+ count +"'>"
))))})});
或者,
您可以在追加之前添加count++
JS小提琴
var count = $("#playlist").children().length;
$(document).ready(function() {
$("button").click(function() {
count++; ////////////////add this line
$("ul").append(
$('<li>').attr('id', 'list[' + count + ']').append(
$('<div>').attr('class', 'item').append(
$('<fieldset>').append(
"<input id='list[i][name]' name='list[i][name]' type='text' class='auto' size='40' value ='NEW " + count + "'>"
)
)
)
)
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class='holder'>
<ul id="playlist">
<li id='list[1]'>
<div class='item'>
<fieldset>
<input id='list[1][name]' name='list[1][name]' type='text' class='auto' size='40' value='one' />
</fieldset>
</div>
</li>
</ul>
<br>
<button>Add new list item</button>
</div>
相关文章:
- 分派点击事件并保留击键修饰符
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 在可排序的JQuery UI列表中至少保留一个项目
- JavaScript:有没有更好的方法来保留你的数组,但有效地连接或替换项目
- 使用 javascript 将项目添加到下拉列表中并保留在回发中
- 角度JS从数据中选择菜单,在顶部保留1个项目
- JQuery:将项目添加到列表并保留项目计数
- 我怎么能只保留符合特定条件的数组项目
- 射击目标:单击鼠标->保留项目符号Hole.gif
- Mongodb推送到数组,但保留最多3个项目的数组
- Tinymce编辑器删除所有样式,但保留项目符号和表格,同时粘贴文本
- 如何防止栅格自动选择新添加的项目,保留当前选择
- 在两个项目之间共享组件,同时保留热加载
- 使用 jQuery remove() 添加项.重新添加相同的项目时,将保留类更改