我有两个下拉列表。当用户从第一个选择一个值(其中有多个select选项)时,使用jQuery自动选择一些值。我怎样才能做到这一点?
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>
分割的第一个选择框中的粗体值是从第二个选择框中选择的值。例如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);