jQuery:selected总是返回第一个选项

时间:2014-02-18 10:08:05

标签: jquery selected selectedvalue

我正在尝试构建一个控制功能,以检查用户是否选择了至少一个来自选择列表的预期选项。

我已经构建了这个有效的函数,除了它总是返回循环中第一个元素的第一个选项值。

示例:对于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)
        } 
});

3 个答案:

答案 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)

试试这个

$('#submit').change(function(){ 
    var text = $(this).val();
    alert(text);
});

Fiddle Demo