2013-01-11 41 views
5

Tôi đang lưu trữ nhiều giá trị tùy chọn đã chọn vào hộp văn bản và nối với dấu phẩy nhưng không muốn thêm vào cuối chuỗi. nghe là mã của tôi.cách xóa dấu phẩy cuối cùng khỏi chuỗi bằng cách sử dụng 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> 

Trả lời

7

Bạn có thể làm điều này bằng .substring():

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

Sử dụng .substring trên chuỗi hoàn thành của bạn

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

thử mã này ...

$('#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

Sử dụng .slice(start, end) theo cách này:

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

end trong lát '-' sẽ trừ từ mục cuối cùng trong chuỗi.

6

chỉ cần sử dụng,

trong palce của

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

sử dụng này

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

này là đủ để bỏ qua các dấu phẩy cuối cùng.

Các vấn đề liên quan