2013-01-11 4 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); 

이 마지막 쉼표를 생략 충분하다의에 위치에있는

사용합니다.

관련 문제