最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - append comma separated values to select options jQuery - Stack Overflow

programmeradmin0浏览0评论

I have a sting with ma separated

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

I want to append these values to my select dropdown, so that it should look like

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

I have tried putting the string into my select

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

Now this will put each string as an option value. But how do i put each opt as one option as i described above.

I have a sting with ma separated

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

I want to append these values to my select dropdown, so that it should look like

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

I have tried putting the string into my select

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

Now this will put each string as an option value. But how do i put each opt as one option as i described above.

Share Improve this question asked Jan 19, 2016 at 7:50 MatarishvanMatarishvan 2,4323 gold badges42 silver badges70 bronze badges 1
  • $.each(str.split(','), – Arun P Johny Commented Jan 19, 2016 at 7:53
Add a ment  | 

6 Answers 6

Reset to default 7

You can split the string and then iterate

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./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="sel">
</select>

You need to split() your string in to an array before looping through it:

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./ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select id="sel"></select>

Try this,

    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./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="sel"></select>

Use the string split method.

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

Try this:

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

you should try this

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

评论列表(0)

  1. 暂无评论