保存数组中的选择值并完成它

时间:2015-08-02 01:35:23

标签: javascript jquery html

我有6个选择字段来选择三个不同的选项(“请选择..”,“是”和“否”)。我希望能够知道在组内选择了哪些值,每组select都在div内。我尝试使用它:

 $('#qqq').find('select').change(function () {
         //  alert($(this).val());
        var option = $(this).val();
        selectValues.push($(this).val());

但这仅在您更改值时有效,并且不存储值,因此如果您按其他顺序浏览组,则结果会有所不同。例如,如果从最后一个选择开始,然后按逆序排列。将值推送到变量中,值会被保存,但如果更改两次则会在“selectValues”中保存两次 我的HTML是这样的:

<div class="mygroup">
 <select id="aa">
 <select id="bb">
 <select id="cc">
</div>

select的值是在jQuery中生成的,因此可以使用 - &gt;检索值。 this.val()

我的问题是我如何检索一个组的值然后通过它?我曾经将它保存在一个数组中然后通过它,但我不知道是否当您更改选择两次时,数组值将会改变。

我想知道它,因为如果任何选择是“是”,则应该需要一些下面的输入字段,如果它们都是“否”,那些字段应该是只读的。

1 个答案:

答案 0 :(得分:0)

像这样:

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min.js"></script>

或者这个:

var curVals = {};
$('#qqq').find('select').each(function () {
    curVals[$(this).prop('id')] = $(this).val();
});

如果有的话是&#39;是&#39;那么var $selectedYes = $('#qqq').find('select').filter(function () { return $(this).val().toLowerCase() === 'yes'; }); 将是一个$selectedYes对象,只包含那些jQuery个元素;如果没有,则它将是一个空的select对象。