如何使用jQuery从字符串中删除最后一个逗号

时间:2013-01-11 11:02:25

标签: jquery

我将多个选定的选项值存储到文本框并使用逗号连接,但不想添加最后一个字符串。听到的是我的代码。

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<select id="garden" name="garden" multiple="multiple">
  <option value="1">Flowers</option>
  <option value="2">Shrubs</option>
  <option value="3">Trees</option>
  <option value="4">Bushes</option>
  <option value="5">Grass</option>
  <option value="6">Dirt</option>
</select>
<input type="text" name="store" id="store" />
<script>
$("#garden").change(function () {
  var str = "";
  $("select option:selected").each(function () {
        str += $(this).val() + ",";
      });
    $('#store').val(str).attr('rows',str.length) ;
})
.trigger('change');
</script>
</body>
</html>

6 个答案:

答案 0 :(得分:7)

您可以使用.substring():

执行此操作
 $('#store').val(str.substring(0,str.length-1)).attr('rows',str.length-1) ;

答案 1 :(得分:6)

只需使用,

代替这个

         $('#store').val(str).attr('rows',str.length) ; 

使用

         str=str.slice(0,-1); 

这足以省略最后一个逗号。

答案 2 :(得分:1)

在已完成的字符串上使用.substring

var str = "";
$("select option:selected").each(function () {
    str += $(this).val() + ",";
});
str = str.substring(0, str.length - 1); // remove the last char in your case the ,
$('#store').val(str).attr('rows',str.length) ;

答案 3 :(得分:0)

试试这段代码......

$('#store').val(str.substring(0,str.lastIndexOf(','))).attr('rows',str.length-1) ;

答案 4 :(得分:0)

$('#store').val(str.substr(0,str.length-1)).attr('rows',str.length-1) ;

答案 5 :(得分:0)

以这种方式使用.slice(start, end)

$('#store').val(str.slice(0,-1)).attr('rows',str.length);
切片end中的

'-'将从字符串中的最后一项中减去。