对于 select2 multiple 中的每个选项,使用 jquery 将选项值文本附加到 div
for each option from select2 multiple, append option value text into div using jquery
用我想按一个按钮,将所选项目添加到 div #list
<select class="select2" multiple="multiple" name="string_items[]" id="string_items">
<option>value i want to append</option>
</select>
继续:
为此(假设每个项目都是使用 .append ("<div class =" item ">" + option text + "</div>")
+ 包含每个的文本的模板)
<div id="list">
<div class="item">appended value</div>
</div>
我不是 JS 专家,但我知道我想要什么。我的 JS 代码:
$("#post-button").click(function(e){
var items_list = $('#string_items').val(); //combo box / <select id="string_items">
//for each item {
//var item_tpl = '<div class="item">'+ <OPTION> TEXT </OPTION> +'</div>'; //My simple but powerful template for this example
//$("#list").append(item_tpl); //adding to #list div
//}
});
您可以尝试使用 for...of
循环:
The for...of
statement creates a loop iterating over iterable objects, including: built-in String, Array, Array-like objects (e.g., arguments or NodeList), TypedArray, Map, Set, and user-defined iterables. It invokes a custom iteration hook with statements to be executed for the value of each distinct property of the object.
$("#post-button").click(function(e){
var items_list = $('#string_items').val();
for (item of items_list){
var item_tpl = '<div class="item"><OPTION> '+item+' </OPTION></div>';
$("#list").append(item_tpl);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="select2" multiple="multiple" name="string_items[]" id="string_items">
<option>Value 1 to append</option>
<option>Value 2 to append</option>
</select>
<button type="button" id="post-button">Post</button>
<div id="list">
<div class="item">appended value</div>
</div>
用我想按一个按钮,将所选项目添加到 div #list
<select class="select2" multiple="multiple" name="string_items[]" id="string_items">
<option>value i want to append</option>
</select>
继续:
为此(假设每个项目都是使用 .append ("<div class =" item ">" + option text + "</div>")
+ 包含每个的文本的模板)
<div id="list">
<div class="item">appended value</div>
</div>
我不是 JS 专家,但我知道我想要什么。我的 JS 代码:
$("#post-button").click(function(e){
var items_list = $('#string_items').val(); //combo box / <select id="string_items">
//for each item {
//var item_tpl = '<div class="item">'+ <OPTION> TEXT </OPTION> +'</div>'; //My simple but powerful template for this example
//$("#list").append(item_tpl); //adding to #list div
//}
});
您可以尝试使用 for...of
循环:
The
for...of
statement creates a loop iterating over iterable objects, including: built-in String, Array, Array-like objects (e.g., arguments or NodeList), TypedArray, Map, Set, and user-defined iterables. It invokes a custom iteration hook with statements to be executed for the value of each distinct property of the object.
$("#post-button").click(function(e){
var items_list = $('#string_items').val();
for (item of items_list){
var item_tpl = '<div class="item"><OPTION> '+item+' </OPTION></div>';
$("#list").append(item_tpl);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="select2" multiple="multiple" name="string_items[]" id="string_items">
<option>Value 1 to append</option>
<option>Value 2 to append</option>
</select>
<button type="button" id="post-button">Post</button>
<div id="list">
<div class="item">appended value</div>
</div>