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

這足以省略最後一個逗號的。安迪。

相關問題