我将多个选定的选项值存储到文本框并使用逗号连接,但不想添加最后一个字符串。听到的是我的代码。
<!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>
答案 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
中的 '-'
将从字符串中的最后一项中减去。