gpt4 book ai didi

javascript - 使用 javascript 或 jquery chop 下拉菜单中的项目和选定的项目

转载 作者:行者123 更新时间:2023-11-30 16:44:15 25 4
gpt4 key购买 nike

我有一个从 Django 对象填充的下拉菜单。这些项目可以比下拉菜单的宽度长很多,并且不想改变宽度。

如何限制它只显示列表中的前 15 个字符并在第 15 个字符后附加 ...?

我的模板中有以下内容:

<li class="dropdown">
<a class="btn-warning" href="{% url 'courses:course-detail' course.id %}" id="course-name-nav" data-toggle="dropdown" class="dropdown-toggle pull-right"><span class="glyphicon glyphicon-home pull-left"></span>{{course.name}}<b class="caret"></b></a>
<ul class="dropdown-menu">
{% for course in user|get_user_courses %}
<li><a href="{% url 'courses:course-detail' course.id %}" id="course-list-item">{{course.name}}</a></li>
{% endfor %}
</ul>
</li>

然后我添加了一个 jQuery 脚本:

<script type="text/javascript">
var len = 15;
$('#course-in-nav').change(function() {
var text = $(this).text();
console.log($(this).text());
console.log($(this).text().length);
if(text.length > len) {
$(this).text() = text.substring(0, len) + '...';
}
});
</script>

我怎样才能真正做到这一点?提前谢谢你。

更新然而,我使用了 Sushil 的解决方案,它只更新了下拉菜单中的项目。我添加了相同的代码来对所选项目执行相同的操作。但是,此解决方案会覆盖 my 和元素。

<script type="text/javascript">
$(function(){
$('.dropdown-menu').find('li').each(function(){
var link = $(this).find('a');
var length = $(link).text().length;
if(length > 15){
var truncated = $(link).text().substring(0, 15) + '...';
$(link.text(truncated));
}
});
});
$(function(){
$('.dropdown').find('a').each(function(){
var text = $(this).text();
var length = text.length;
if(length > 15){
truncated = text.substring(0, 15) + '...';
console.log(truncated);
$($(this).text(truncated));
}
});
});
</script>

最佳答案

使用 Angular 过滤器“limitTo” chop 字符串。参见 this

关于javascript - 使用 javascript 或 jquery chop 下拉菜单中的项目和选定的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com