Javascript 通过Jquery中的值获取选项HTML

Javascript 通过Jquery中的值获取选项HTML,javascript,jquery,Javascript,Jquery,如何通过jquery中的值在jquery中获取选项HTML HTML 我有一个数组,它有一些与下拉列表中的值相关的值。现在我想获得所有与下拉HTML中的值匹配的选项 像 这是我想要的下拉列表中的最终输出。请在这方面帮助我 我想在此下拉列表中添加这些选项: <select multiple="" style="width: 147px;" id="list" name="list1" class="list_class"> </select> 也许是这样的: var i

如何通过jquery中的值在jquery中获取选项HTML

HTML

我有一个数组,它有一些与下拉列表中的值相关的值。现在我想获得所有与下拉HTML中的值匹配的选项 像

这是我想要的下拉列表中的最终输出。请在这方面帮助我

我想在此下拉列表中添加这些选项:

<select multiple="" style="width: 147px;" id="list" name="list1" class="list_class">

</select>

也许是这样的:

var id_arry = ['21','24','2'];

var optionMatches = $('#list option').filter(function() {
    return $.inArray($(this).val(), id_arry);
});
细分:

$'list option'-返回带有ID列表的选择列表中的所有选项 -一个简单的过滤函数——回调函数决定该选项是否进入最终列表 -检查当前选项值是否在数组id\u arry中 在研究您的示例后,您可能首先希望从多选下拉列表中获取所选选项,以构建您的id\u arry,这非常简单:

var id_arry = $('#list').val();
一旦有了这些元素和optionMatches元素数组,就可以将它们克隆到新的下拉列表中:

optionMatches.clone().appendTo('#otherSelect');
可以使用jQuery将具有特定属性值的元素作为目标:

$( "option[value='21']" )
使用此选择器和简单循环,可以提取所需的所有元素:

var elements = [];
var id_array = ['21','24','2'];
for ( index in id_array ){
  var elem = $( "option[value='" + id_array[ index ] + "']" );
  if ( elem ) {
    elements.push( elem );
  }
}
您的元素数组现在包含id_数组中显示其值的所有选项元素。

一个解决方案是使用和:

变量id_arry=['21','24','2']; $list.valid_arry.join'、'.split'、'; A. B C D E 因为您需要“option”元素的HTML内容,所以它们被克隆并包装在一个临时div中,以便该临时div的内部HTML被复制并附加到最终的HTML字符串中


自己检查一下:

您想用这些选项创建一个新的选择还是?是,我想从这些选项中创建新的选择选项。备份一个步骤–您是真的想获取HTML字符串,还是真的想使用这些选项创建一个新的下拉列表,在这种情况下,获取HTML字符串并不是最好的方法。@Lix:我感谢您的帮助:我确实回滚了,因为筛选方法是jQuery的,不是本机数组筛选器方法。我需要下拉列表中的选项html,以便我可以将其用作其他下拉列表的选项。在第一个下拉列表中未选择值。值现在位于aarray中,从该数组中获取选项,然后在单击appendi时将其附加到其他下拉列表中。我希望选项htmlYou可以使用如:$list选项:选中;这些选项在页面上未被选中。值在第一个下拉列表中未被选中。值现在在aarray中,从该数组中我想获得选项,然后单击append将其附加到另一个下拉列表中。这个示例非常好,但问题是选项未被选中
optionMatches.clone().appendTo('#otherSelect');
$( "option[value='21']" )
var elements = [];
var id_array = ['21','24','2'];
for ( index in id_array ){
  var elem = $( "option[value='" + id_array[ index ] + "']" );
  if ( elem ) {
    elements.push( elem );
  }
}
var id_arr = ['21','24','2'];
var entireHTML = "";
var options = $('select').find('option');
var tempDiv = $('div');

//id_arr = $('select').val(); //Uncomment this line to get value from the select element.

$.each(id_arr, function(index, value){

   entireHTML = "";

    $(options).each(function(){
        if( $(this).val() === value)
        {
            $(this).clone().appendTo(tempDiv);
        }
    });
});
entireHTML = $(tempDiv).html();