jQuery substr()多选值

时间:2013-09-16 09:12:39

标签: 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>');    
});

但它不起作用:/

我会很高兴得到任何帮助:)

2 个答案:

答案 0 :(得分:4)

更改你的if条件

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

if(text.length > 8)

您不需要val(),因为您已经有text()文字。

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

答案 1 :(得分:0)

text变量不是jquery对象,所以你可以在没有val();

的情况下编写它
$('#product_category  > option:selected').each(function() {
    var text = $(this).text(); 
    if(text.length > 8)
    {
        text = text.substr(0,9)+"...";
    }

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