我正在尝试构建一个控制功能,以检查用户是否选择了至少一个来自选择列表的预期选项。
我已经构建了这个有效的函数,除了它总是返回循环中第一个元素的第一个选项值。
示例:对于1:'foo'和2:'bar'的选择列表,即使我在第一个选择列表中选择了'bar',警报也会返回'foo',但它适用于下一个选择值
$( document ).on( "click", "#submit", function() {
var n = 0;
for (var p = 0; p < index; p++) {
var selectValue = $('#multiple_answer_'+p+'_option :selected').val();
n++;
alert('option '+n+' : '+selectValue)
}
});
答案 0 :(得分:0)
如果您使用.val()
来检索选择的值,则无需:selected
var selectValue = $('#multiple_answer_'+p+'_option').val();
JS小提琴: http://jsfiddle.net/aAURL/1/
另请注意,数组为零索引,因此id元素必须以multiple_answer_0_option
开头。
答案 1 :(得分:0)
这是因为您选择$('#multiple_answer _'+ p +'_ option'...这只是您网页上的一个。'#'在项目的ID值之前添加,此值应该是唯一的。
您应该使用'class'或其他属性(不一定是唯一的)来进行选择。
答案 2 :(得分:0)