5

選択した複数のオプション値をテキストボックスに格納し、カンマで連結していますが、文字列の最後に追加したくありません。聞くのは私のコードです。

<!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>
4

6 に答える 6

7

これは、.substring()を使用して行うことができます。

 $('#store').val(str.substring(0,str.length-1)).attr('rows',str.length-1) ;
于 2013-01-11T11:04:44.330 に答える
6

単に使用して、

これの一部で

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

使用する

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

これは、最後のコンマを省略するのに十分です。

于 2014-04-11T07:20:09.510 に答える
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) ;
于 2013-01-11T11:05:34.570 に答える
0

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

$('#store').val(str.substring(0,str.lastIndexOf(','))).attr('rows',str.length-1) ;
于 2013-01-11T11:07:55.040 に答える
0
$('#store').val(str.substr(0,str.length-1)).attr('rows',str.length-1) ;
于 2013-01-11T11:09:59.140 に答える
0

このように使用.slice(start, end)します:

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

endスライス'-'では、文字列の最後の項目から減算されます。

于 2013-01-11T11:10:35.307 に答える