2013-01-11 11 views
5

複数の選択されたオプション値をテキストボックスに保存し、コンマで連結しますが、最後に文字列を追加しません。私のコードを聞いてください。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> 

答えて

7

あなたは)(.substring使用してこれを行うことができます:

$('#store').val(str.substring(0,str.length-1)).attr('rows',str.length-1) ; 
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) ; 
0

にこのコードを試してみてください...

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

使用.slice(start, end)この方法:スライス'-'

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

endは、文字列の最後の項目から差し引きます。

6

は、単純にこの

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

使用

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

これが最後のカンマを省略するのに十分であるのpalceに

、使用しています。

関連する問題