创建列表时,像在Ranker.com上一样创建多个项目
Create multiple items like on Ranker.com when creating a list
我需要创建一个类似于Ranker.com的表单,用户可以在其中创建列表。我的问题是无法添加多个项目。
我尝试了使用div的.clone().appendTo()
,但当他们创建新的div时,我在"新项目"输入中插入的标题重复,我有2-3个div,标题来自第一个+另一个文本。这是Jsfidle.net 的链接
我找到了这个问题的解决方案。请参阅jsfidd.net
您可能只想生成一个新的文本框,而不是使用clone(),因为clone会克隆整个内容(文本框的值、名称、id和您能想到的任何属性)。要生成新的文本框,您可以使用以下代码:
var new_txt = $('<input>').attr({'type' : 'text'});
您可以通过用逗号分隔每个属性来为输入分配更多属性:
$('<input>').attr({'type' : 'text', 'name' : 'something'});
为了实现您想要做的事情,您需要一个容器,您将在其中附加新生成的文本框。
<div id="container">
<input type="text" id="txt_item"/>
</div>
然后只需使用live()方法,这样每当用户在文本框上按enter键时,就会生成一个新的文本框:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$('input[type=text]').live('keydown', function(e){
var new_txt = $('<input>').attr({'type' : 'text'});
if(e.keyCode == 13){//If user press enter
new_txt.appendTo('#container').focus(); //append then focus to new textbox
}
});
</script>
正如你所看到的,这是一个非常简单的例子,但你可能可以从这里开始。祝你好运!
相关文章:
- 我正在创建一个聊天,但每次我发送消息时,它都不会让我再发送另一条消息,就像表格一样;不起作用
- 我如何创建一个选择器,就像jQuery有jQuery()或$()一样
- 扩展jQuery以使占位符像我创建的一样
- 创建列表时,像在Ranker.com上一样创建多个项目
- 如何创建一个像SQL十进制类型一样匹配(p,s)精度和小数位数的正则表达式
- 如何创建鼠标对 Div 的抵抗力,就像磁铁效应一样
- 如何使用来自其他 json 对象的 id 和父 id 创建像树结构一样的 json
- 是否有一个JavaScript / Jquery组件可以创建一个像Eclipse一样的工作空间
- 如何创建像格鲁克网站一样的滚动效果
- 尝试使用vanilla JS创建一个每个方法,就像在jQuery中一样
- 有没有办法在javascript中创建哈希图并像添加和删除值一样对其进行操作
- 如何在javascript中创建一个像小部件一样的破折号对象
- 有没有办法在没有mongodb的情况下创建像_id字符串一样的mongodb
- 创建一个像 WordPress 一样读取模式的正则表达式
- 如何像在PHP中一样创建Javascript 2-d数组
- 创建一个图像地图并点击像谷歌地图一样的标记
- 在JavaScript中创建数组,就像在PHP中一样
- 我该如何创建数组组并对其进行计数,就像MySQL组中给定的列id一样
- 当链接悬停时创建一个弹出窗口,就像在facebook中一样,当你把光标放在链接上时,它会显示发送消息等选项
- 在javascript中,如何用更少的代码创建多个克隆,就像jQuery中的clone()方法一样