0
我想在底层做一些Jquery的最佳方式。查询多个每个语句保持可变在一个水平
HTML
<div class="questionblock" id="questionblock1" data-load="questionblock2">
<div class="row inline">
<div class="labelholder">
<strong>Q:</strong>
<label>Question 1</label>
</div>
<div class="inputholder">
<strong>A:</strong>
<select data-val="question1">
<option data-value="default">Please select</option>
<option>Answer 1</option>
<option>Answer 2</option>
</select>
</div>
</div>
</div>
<div class="questionblock" id="questionblock2" data-load="questionblock3">
<div class="row inline">
<div class="labelholder">
<strong>Q:</strong>
<label>Question 2</label>
</div>
<div class="inputholder">
<strong>A:</strong>
<select data-val="question1">
<option data-value="default">Please select</option>
<option>Answer 1</option>
<option>Answer 2</option>
</select>
</div>
</div>
<div class="row inline">
<div class="labelholder">
<strong>Q:</strong>
<label>Question 3</label>
</div>
<div class="inputholder">
<strong>A:</strong>
<select data-val="question2">
<option data-value="default">Please select</option>
<option>Answer 1</option>
<option>Answer 2</option>
</select>
</div>
</div>
</div>
JS
<script type="text/javascript">
$(function() {
$('#content').removeClass('nojs');
$('.questionblock').not('#questionblock1').hide();
$('.questionblock').each(function() {
var myQuestions = [];
var block = $(this).attr('id');
var load = $(this).data('load');
$(this).children().children().children('select').each(function() {
var questions = $(this).data('val');
});
console.log(block, questions);
});
});
</script>
我希望能够得到一类questionblock的每个格,读取ID,然后得到这个div内的所有选择框,并输出他们的数据-val,这样我就可以在一个层次上验证它。
感谢
理查德
真棒非常感谢:) – user989952 2013-04-23 03:23:26
有过2级采用推的方式吗? http://jsfiddle.net/VEtx8/1/或者有没有更好的方法来做到这一点?我需要在选择被更改后更新数组 – user989952 2013-04-23 04:51:52
您可以通过在'$(function()...)之外声明'questions'成为一个全局变量。然后你可以在'.change()'处理程序中重置它。 – Barmar 2013-04-23 04:57:32