如何使用jQuery选择多选列表中的选项?

我有两个下拉菜单。 当用户从第二个中选择一个值(具有多个选择选项)时,使用jQuery自动选择一些值。 我怎样才能做到这一点?

First select box:  Ghid complet Internet PC pas cu pas Jocul ingerului Ghidul vinurilor  Second select box:  Rose Tremain Jonathan Coe Cecilia Ahern Marinel Serban Emanuela Cherchez Peter Buckley Clark Duncan Carlos-Ruiz Zafon Catalin Paduraru Dan-Silviu Boerescu  

分割的第一个选择框的粗体值是我想从第二个选择框中选择的值。 例如,11,12意味着在第二个框选项中选择值11和12。

目前我有这样的事情:

 $.bookAuthors = $.bookDetailsArray[1].split(','); $.each($.bookAuthors, function( intIndex, objValue ){ $("#uc_autori_s").val(objValue).attr("selected","selected"); }); 

但问题是在我的案例12中只选择了最后一个值(选择11丢失)

您无法使用val方法将多个option设置为选中状态。 相反,您应该选择选项本身,并设置其选定的属性:

 $('#uc_autori_s option[value=' + objValue + ']').attr('selected', true); 

您可以将具有多个值的选择传递给数组

 $("#uc_autori_s").val( $.bookAuthors ); 

例如,您有一个像这样的选择框:

  

选择多个选项(例如Eragon,Gadfly)的方法是创建一个包含要选择的选项值的对象,然后使用:

 var options = ["2", "3"]; $("#books").val(options); 
   

以下是查找和选择多选下拉列表的简单方法

  $('#selectID ').children("option[value=" + myValue + "]").prop("selected", true); 

您必须删除当前选项才能操作所选选项。

以下是如何附加选项的示例:

   

对于selected.js添加:

  

您需要执行以下操作以在多选中选择值。 由于multiselect在选择时返回值数组,因此在默认情况下设置其值时需要为其赋予相同的值。

  

如果您希望默认选择选项1,2和4,则执行; $( ‘#sonyConsoles’)VAL([1,2,4])。

这将返回选择了选项1,2和5的selectBox。

jQuery最简单和最新的方法是使用map函数

  var abc = $("select option:selected").map(function() { return this.value; }).get().join(",");