如何使用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(",");