5

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

<!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>
4

6 回答 6

7

您可以使用 .substring() 执行此操作:

 $('#store').val(str.substring(0,str.length-1)).attr('rows',str.length-1) ;
于 2013-01-11T11:04:44.330 回答
6

只需使用,

取而代之的是

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

利用

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

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

于 2014-04-11T07:20:09.510 回答
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) ;
于 2013-01-11T11:05:34.570 回答
0

试试这个代码...

$('#store').val(str.substring(0,str.lastIndexOf(','))).attr('rows',str.length-1) ;
于 2013-01-11T11:07:55.040 回答
0
$('#store').val(str.substr(0,str.length-1)).attr('rows',str.length-1) ;
于 2013-01-11T11:09:59.140 回答
0

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

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

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

于 2013-01-11T11:10:35.307 回答