附加逗号分隔的值以选择选项 jQuery

append comma separated values to select options jQuery

本文关键字:选择 选项 jQuery 分隔      更新时间:2023-09-26

我用逗号分隔有

刺痛
var str = "-1,opt1,opt2,opt3,opt4,opt5";

我想将这些值附加到我的选择下拉列表中,以便它看起来像

<select>
   <option value="-1">-Select-</option>
   <option value="opt1">opt1</option>
   <option value="opt2">opt2</option>
   <option value="opt3">opt3</option>
   <option value="opt4">opt4</option>
   <option value="opt5">opt5</option>
</select>

我试过将字符串放入我的选择

 $.each(str, function(key, value) { 
    $('#sel').append('<option value="'+value+'">'+key+'</option>');
});

现在,这会将每个字符串作为选项值。但是,如上所述,我如何将每个选择作为一个选项。

您可以拆分字符串,然后迭代

var str = "-1,opt1,opt2,opt3,opt4,opt5";
$.each(str.split(','), function(key, value) {
  $('#sel').append('<option value="' + value + '">' + (value == '-1' ? 'select' : value) + '</option>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="sel">
</select>

在循环遍历数组之前,您需要将字符串split()到数组中:

var str = "-1,opt1,opt2,opt3,opt4,opt5";
$.each(str.split(','), function(key, value) {
    $('#sel').append('<option value="' + value + '">' + key + '</option>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select id="sel"></select>

试试这个,

    var str = "-1,opt1,opt2,opt3,opt4,opt5";
    var strArr = str.split(',');
    var htmlOptions='';
    $(strArr).each(function(index,value){
         htmlOptions += '<option value="'+value+'">' +(value==-1 ? '--select--' : value) +'</option>';
    });
    $('#sel').html(htmlOptions);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="sel"></select>

使用字符串split方法。

var str = "-1,opt1,opt2,opt3,opt4,opt5";
var optionStrings = str.split(',');
...

试试这个:

var array = str.split(",");
for (i=0;i<array.length;i++){
  $('#sel').append('<option value="'+array[i]+'">'+array[0]+'</option>');
}

你应该试试这个

var array = str.split(",");
for (i=0;i<array.length;i++){
  $('#sel').append('<option value="'+array[i]+'">'+array[0]+'</option>');
}