javascript - jQuery substr() 多选值

标签 javascript jquery

我有一个:

$('#product_category  > option:selected').each(function()

并将其附加到某个框的

.append(<div>'+$(this).text()+'</div>);

但我想将文本替换为仅显示 9 个字符。如果长度大于 9,则写入前 9 和 +"..."

我尝试过:

    $('#product_category  > option:selected').each(function() {
    var text = $(this).text(); 
    if(text.val().length > 8)
    {
        text = text.substr(0,9)+"...";
    }

    $('#confirm-category').append('<div class="alert alert-success">'+text+'</div>');    
});

但它不起作用:/

我很乐意提供任何帮助:)

最佳答案

改变你的if条件

if(text.val().length > 8)

if(text.length > 8)

你不需要val(),因为你已经有了它的文本text()

var text = $(this).text();  //<---here

关于javascript - jQuery substr() 多选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18824295/

相关文章:

javascript - 我的代码中的错误是警报,而不是 console.errors

javascript - 使用 "Object.keys"函数在 vue.js 中列出 firebase 子节点的长度时如何防止错误?

c# - Ajax jquery 传递多个参数 web 服务

javascript - 在 div 上添加自定义动画类不起作用?

javascript - jQuery 单一选择器与 .find()

javascript - 如何在 jQuery 中定位特定链接/点击?

javascript - 是否有可能将表单输入到另一个html表单中

javascript - 将对象转换为 HTML 元素

javascript - addClass 不起作用,尝试根据 URL 添加类

javascript - 根据用户输入显示或隐藏字段