如何在按下按钮时创建不可编辑的类型(如标签)
How to create a non-editable type(like tags) when a button is pressed
我在一个循环中动态创建了几个按钮。
<input class="btn btn-info attribute-button" name="commit" type="button" value="first_name">
我得到了一个文本字段。
<textarea class="text optional special form-control" data-role="tagsinput" id="campaign_message" maxlength="180" name="campaign[message]"></textarea>
这些是我的rails应用程序创建的。
这是我的js代码添加按钮的值到文本字段
$(document).on("click",".attribute-button", function(){
var value = $('.special').val($('.special').val() + $(this).val());})
我想做的是;
当按下按钮时,我已经可以在文本上写入内容,但我想要的是将它们写为不可编辑的文本。用户不能修改添加的文本。
http://timschlechter.github.io/bootstrap-tagsinput/examples/bootstrap-2.3.2.html我找到了这个库,但它不适合我,因为它不支持文本。他对所有输入应用标签。但是我将把标签和输入文本放在一起。
我怎样才能做到这一点?
看看这个问题的答案。如果您不希望人们添加文本,您所要做的就是将该字段设置为只读。
使用jquery设置textarea为只读
你可以通过按钮点击事件
这是我的解决方案。有一个带有标签类的div。它的内部是带有tag类的div和带有newtag类的文本字段。当您在newtag中输入文本并按空格、回车或制表键时,将会插入一个新的标签div。如果你点击一个带有attribute-button类的按钮,它的值将被添加到标签div中。你需要添加一些东西来完成它,比如在标签上添加一个删除按钮来删除它。
小提琴HTML:
<input class="btn btn-info attribute-button" name="commit" type="button" value="first_name" />
<div class="tags">
<input type="text" name="newtag" class="newtag" placeholder="Add tags" />
</div>
JS:
$(".tags, .attribute-button").click(function(){
$(".newtag").focus();
})
$(".newtag").keydown(function(e){
if(e.which === 13 || e.which === 32 || e.which === 9){
e.preventDefault();
$(".newtag").before("<div class='tag'>"+$(".newtag").val()+"</div>");
$(".newtag").val("");
}
});
$(".attribute-button").click(function(){
$(".newtag").before("<div class='tag'>"+$(this).val()+"</div>");
})
CSS(可选):.tags{
width: 400px;
height: 100px;
border: 1px solid #000;
margin: 5px;
}
.tag{
padding: 1px;
background-color: blue;
color: #fff;
border-radius: 3px;
display: inline-block;
}
.newtag{
border: none;
outline: none !important;
}
相关文章:
- 基于数据类型的编辑框的汇总列表
- 在plone 5中将自定义的灵活性内容类型插入到tinymce编辑器中
- 我如何验证/发布编辑类型为表单编辑中的 jqgrid 选择的列
- 内容可编辑-根据类型从一个跨度到另一个跨度克隆文本
- 在设置 IIS Express 以识别 JSON 文件类型后 - VS 是否可以调用除纯文本之外的更好的编辑器
- 使用编辑类型:基于所选值选择时,如何在 JQGrail 中启用或禁用子网格
- j可编辑输入类型日期
- CKEditor 未捕获的类型错误:无法在具有多个编辑器的 EmberJS 单页应用程序中调用 null 的“不可选择”
- 如何通过将值传递给输入类型来编辑 html 表值
- 除了在 AngularJS 中为每种类型的编辑创建一个函数之外,有没有更好的方法可以在页面上拥有可编辑的元素
- 使用 django-froala-editor,编辑器在管理页面中工作不会在帖子页面中工作吗?未捕获的类型错误: $(.
- 未捕获的类型错误: $(..).froala编辑器不是一个函数//解决方案被找到,但不确定如何使用它
- Jqgrid编辑类型:"选择“;事件
- 未捕获的类型错误:Object[Object Object]没有方法'可编辑'
- 如何避免在asp中在一个剑道网格中使用两种类型的编辑时创建不需要的弹出窗口
- 我可以't编辑我的<输入类型=“;文件“>标签
- 如何在按下按钮时创建不可编辑的类型(如标签)
- CK编辑器-未捕获类型错误:无法读取属性'的空在Chrome
- 为什么“;& lt;输入类型=“number"/比;“;无法在angular 1.4.6的chrome中编辑
- 如何从类型为'select'? (x-可编辑)(laravel 5.2)