我有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()
我的问题是我如何检索一个组的值然后通过它?我曾经将它保存在一个数组中然后通过它,但我不知道是否当您更改选择两次时,数组值将会改变。
我想知道它,因为如果任何选择是“是”,则应该需要一些下面的输入字段,如果它们都是“否”,那些字段应该是只读的。
答案 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
对象。