如何使用jQuery选择多选列表中的选项? [英] how to select options in Multiple select list with jQuery?

查看:84
本文介绍了如何使用jQuery选择多选列表中的选项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个下拉列表。当用户从第一个选择一个值(其中有多个select选项)时,使用jQuery自动选择一些值。我如何做?

 首选框:
< select id =update_carte_sname =update_carte_s >
< option value =5!** 8,9 **!6!44.9> Ghid complet Internet< / option>
< option value =6!** 6,7 **!6!24.95> PC pas cu pas< / option>
< option value =7!** 10 **!3!27.95> Jocul ingerului< / option>
< option value =8!** 11,12 **!8!39> Ghidul vinurilor< / option>
< / select>
第二个选择框:
< select id =uc_autori_sname =uc_autorilist []size =5multiple>
< option value =3> Rose Tremain< / option>
< option value =4> Jonathan Coe< / option>
< option value =5> Cecilia Ahern< / option>
< option value =6> Marinel Serban< / option>
< option value =7> Emanuela Cherchez< / option>
< option value =8> Peter Buckley< / option>
< option value =9> Clark Duncan< / option>
< option value =10> Carlos-Ruiz Zafon< / option>
< option value =11> Catalin Paduraru< / option>
< option value =12> Dan-Silviu Boerescu< / option>
< / select>

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



目前我有这样的东西:

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

但问题是在我的情况下只选择最后一个值12(11个选择丢失)

解决方案

您将无法使用 val 方法来选择多个选项。相反,您应该选择自己的选项,并设置其选定的属性:

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


I have two dropdowns. When a user selects a value from the first one i want in the second(which has the multiple select option), with jQuery, to select some values automatically. How can i do that?

First select box:
<select id="update_carte_s" name="update_carte_s">
     <option value="5!**8,9**!6!44.9">Ghid complet Internet</option>
     <option value="6!**6,7**!6!24.95">PC pas cu pas</option>
     <option value="7!**10**!3!27.95">Jocul ingerului</option>
     <option value="8!**11,12**!8!39">Ghidul vinurilor</option>
</select>
Second select box:
<select id="uc_autori_s" name="uc_autorilist[]" size="5" multiple>
     <option value="3">Rose Tremain</option>
     <option value="4">Jonathan Coe</option>           
     <option value="5">Cecilia Ahern</option>
     <option value="6">Marinel Serban</option>
     <option value="7">Emanuela Cherchez</option>
     <option value="8">Peter Buckley</option>
     <option value="9">Clark Duncan</option>
     <option value="10">Carlos-Ruiz Zafon</option>
     <option value="11">Catalin Paduraru</option>
     <option value="12">Dan-Silviu Boerescu</option>
</select>

The bolded values from the first select box splitted by , are the values that i want to select from the second select box. For example 11,12 would mean in the second box options with values 11 and 12 to be selected.

Currently i have something like this:

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

but the problem is that only the last value is selected in my case 12(selection of 11 is lost)

解决方案

You're not going to be able to use the val method to set multiple options as selected. Instead, you should select the option itself, and set its selected attribute:

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

这篇关于如何使用jQuery选择多选列表中的选项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆