使用带有JQuery的类从选择输入构建数组

时间:2013-07-21 20:25:55

标签: jquery arrays select option

我在JQuery Mobile中有多个选择。我想通过这些并根据选项值构建一个数组。代码应检查此类中的每个选择是否有特定的选项值,并将部分ID名称放在一个数组中,以便我们可以使用选择为“no”的每个选项填充文本框。如果选择sel1和sel3没有选中,则文本框将显示“1,3”。这会触发按钮点击。

<select id="sel1" data-role="slider" class="Check">
   <option value="0">No</option>
   <option value="1">Yes</option>
</select>
<select id="sel2" data-role="slider" class="Check">
   <option value="0">No</option>
   <option value="1">Yes</option>
</select>
<select id="sel3" data-role="slider" class="Check">
   <option value="0">No</option>
   <option value="1">Yes</option>
</select>

$('#butReason').click(function() {
    var values = $(".Check").map(function() {
        return this.value;
    }).get();
});

我的部分代码很差,所以非常感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

添加.join()。我稍微修改了上面的代码。

Fiddle Demo

$('#butReason').click(function() {
    var values = $(".Check").map(function() 
    {
        if(this.value == 1)
        {
            return this.id;
        }
    }).get().join();
    $('#result').html(values);
});

答案 1 :(得分:0)

这样做的一个简单方法就是检查每个选择和放大器的值。返回this.id。结帐FIDDLE

$('#butReason').click(function() {  
    var values = $(".Check").map(function() {
        if(this.value == 0) return this.id;
    }).get();
    $('#result').html(values);
});

此外,如果您id实际上意味着索引,那么您应该只在{sel'上split结果并使用它,如您对问题的评论中所指出的那样。

希望这有帮助。