我有一个多选字段,用户可以在其中选择多个字段。现在它只占用下拉列表的第一个值。
这是使用速度模板作为前端的jquery代码:
jQuery('select[name="myServices"]').live('change', function(ev) {
var selectedmyServicesOpts = jQuery(this).find(':selected'),
ismyServicesOther=false;
console.log("Getting all selectedvalue" + selectedmyServicesOpts)
if(selectedmyServicesOpts.length > 0) {
jQuery.each(selectedmyServicesOpts, function(index, value) {
if(jQuery(value).val() === 'Other (Text field)') {
jQuery('.myServicesOther').show();
ismyServicesOther=true;
return false;
}
});
}
if (!ismyServicesOther) {
jQuery('.myServicesOther').hide();
}
});
答案 0 :(得分:1)
对于给定的<select multiple>
元素,jQuery("theelement").val()
会提供一系列选定的选项值。
在您的情况下,您可能想要查看:
var values = jQuery(this).val();
if( values.indexOf('Other (Text field)') > -1) {
jQuery('.myServicesOther').show();
}
else {
jQuery('.myServicesOther').hide();
}