Jquery 反复浏览选项

Jquery 反复浏览选项,jquery,Jquery,我有一个HTML元素。此元素表示下拉列表。我试图理解如何通过JQuery迭代元素中的选项 如何使用JQuery显示元素中每个选项的值和文本?我只想在警报框中显示它们 这对我有用 $(function() { $("#select option").each(function(i){ alert($(this).text() + " : " + $(this).val()); }); }); 也可以使用参数化的索引和元素 $('#selectIntegration

我有一个HTML元素。此元素表示下拉列表。我试图理解如何通过JQuery迭代元素中的选项

如何使用JQuery显示元素中每个选项的值和文本?我只想在警报框中显示它们

这对我有用

$(function() {
    $("#select option").each(function(i){
        alert($(this).text() + " : " + $(this).val());
    });
});

也可以使用参数化的索引和元素

$('#selectIntegrationConf').find('option').each(function(index,element){
 console.log(index);
 console.log(element.value);
 console.log(element.text);
 });
//这也会起作用

$('#selectIntegrationConf option').each(function(index,element){
 console.log(index);
 console.log(element.value);
 console.log(element.text);
 });

对于追随者来说,这是必要的非jquery方式,因为谷歌似乎把所有人都送到这里:

  var select = document.getElementById("select_id");
  for (var i = 0; i < select.length; i++){
    var option = select.options[i];
    // now have option.text, option.value
  }

如果不需要Jquery,可以使用ES6

for (const option of document.getElementById('mySelect')) {
  console.log(option);
}

你也可以这样试试

你的HTML代码


在没有jQuery的情况下,已经提出的答案的另一个变体

Object.valuesdocument.getElementById'mySelect'。options.forEachoption=>alertoption
在尝试了几段代码后,仍然无法工作,我转到select2.js的官方文档。 链接如下:

因此,清除selection select2 js的方法是:

$('#mySelect2').val(null).trigger('change');

这很奇怪,这应该行得通,但出于某种原因,它不适合我…:它应该是$this.val,而不是像ppl所说的那样是$this.value。只有It ppl的答案对我有效,而不仅仅是this。它应该是$this.val和$this.text,用于获取值和文本respectively@AmitKB-最好使用本机DOM方法来提取文本和值。1较短2避免构造两个新的jQuery对象。如果将$this存储在变量中,效率会更高,即var$this=$this$本文$这个.val;。。。等等。不鼓励只使用代码的答案。请添加一些解释,说明这是如何解决问题的,或者这与现有答案有何不同。
<select id="mySelectionBox">
    <option value="hello">Foo</option>
    <option value="hello1">Foo1</option>
    <option value="hello2">Foo2</option>
    <option value="hello3">Foo3</option>
</select>
$("#mySelectionBox option").each(function() {
    alert(this.text + ' ' + this.value);
});
var select =  $('#mySelectionBox')[0];

  for (var i = 0; i < select.length; i++){
    var option = select.options[i];
    alert (option.text + ' ' + option.value);
  }
$.each($("#MySelect option"), function(){
                    alert($(this).text() + " - " + $(this).val());                    
                });
$('#mySelect2').val(null).trigger('change');