添加 JQuery 引用中断标记输入
Adding JQuery Reference breaks tags input
我正在使用一个带有漂亮标签输入的模板,但我现在希望能够计算字数并根据特定条件限制字数,然而,这是我唯一的方法发现这样做是通过使用特定文本框的 keyup,但要做到这一点,我需要参考 JQuery,但它会破坏我的标签输入。以下是我目前拥有的:
@Html.TextBoxFor(model => model.EmploymentSkills, new { @id = "tags", @class = "form-control tagsinput", @type = "text", @placeholder = "Add skill and press enter", data_role = "tagsinput" })
<script src="~/SmartAdmin/scripts/plugin/bootstrap-tags/bootstrap-tagsinput.min.js"></script>
有没有一种方法可以在不引用 JQuery 的情况下执行此操作,或者能够引用它而不破坏我的标签输入?
data_role
属性有什么特别之处吗?只要我记得,如果使用 XPath,就应该将所有属性放在 @ 中。尝试将 data_role = 'tagsinput'
替换为 @data-role = 'tagsinput'
。也许这是导致问题的原因。
所以我找到了解决办法。如上所述,.keyup 或 .keydown 不起作用,所以我开始使用 .change。这是我用的函数,也是统计字数,限制字数:
$(文档).ready(函数(){
$(".tagsinput").change(function (e) {
var value = $(this).val().replace(" ", "");
var words = value.split(",");
if (words.length > '@Model.TagsAllowed') {
alert("You are not allowed more than '@Model.TagsAllowed' tags!");
var lastword = value.split(",").pop();
value = value.replace(',' + lastword, '');
$(this).val(value);
$('.tagsinput').val() = value.substring(0, value.length - lastword.length);
}
});
})
希望这对沿线的其他人有所帮助。
我正在使用一个带有漂亮标签输入的模板,但我现在希望能够计算字数并根据特定条件限制字数,然而,这是我唯一的方法发现这样做是通过使用特定文本框的 keyup,但要做到这一点,我需要参考 JQuery,但它会破坏我的标签输入。以下是我目前拥有的:
@Html.TextBoxFor(model => model.EmploymentSkills, new { @id = "tags", @class = "form-control tagsinput", @type = "text", @placeholder = "Add skill and press enter", data_role = "tagsinput" })
<script src="~/SmartAdmin/scripts/plugin/bootstrap-tags/bootstrap-tagsinput.min.js"></script>
有没有一种方法可以在不引用 JQuery 的情况下执行此操作,或者能够引用它而不破坏我的标签输入?
data_role
属性有什么特别之处吗?只要我记得,如果使用 XPath,就应该将所有属性放在 @ 中。尝试将 data_role = 'tagsinput'
替换为 @data-role = 'tagsinput'
。也许这是导致问题的原因。
所以我找到了解决办法。如上所述,.keyup 或 .keydown 不起作用,所以我开始使用 .change。这是我用的函数,也是统计字数,限制字数:
$(文档).ready(函数(){
$(".tagsinput").change(function (e) {
var value = $(this).val().replace(" ", "");
var words = value.split(",");
if (words.length > '@Model.TagsAllowed') {
alert("You are not allowed more than '@Model.TagsAllowed' tags!");
var lastword = value.split(",").pop();
value = value.replace(',' + lastword, '');
$(this).val(value);
$('.tagsinput').val() = value.substring(0, value.length - lastword.length);
}
});
})
希望这对沿线的其他人有所帮助。