使用jquery时,我在html元素中使用标识符This
时遇到问题。
预期结果:
每当我从Dropdown中选择语言选项时,都必须验证。我还从下拉列表中选择一个级别。
要做到这一点,我需要将'.LanguageBlock'转换为这个选择器。
尝试:
我的尝试是使用Children()和Parents(),我相信它会起作用,但我遇到了这个选择器的问题。
我想我还必须使用 .each 与此选择器相结合
HTML
<div class="LanguageBlock">
<select class="Language">
<option>Select</option>
<option value="1">English</option>
</select>
<select class="Level">
<option>Select</option>
<option value="1">Basic</option>
</select> <br></br>
</div>
<div class="LanguageBlock">
<select class="Language">
<option>Select</option>
<option value="1">English</option>
</select>
<select class="Level">
<option>Select</option>
<option value="1">Basic</option>
</select>
</div>
<br></br>
<a id="submit" style="border-radius:50%;border:1px solid red;padding:10px">Submit</a>
的Javascript
var Validator = 1;
$('#submit').bind('click', function(){
var Language = $('.LanguageBlock').children('.Language').val();
var Level = $('.LanguageBlock').children('.Level').val();
if(Language!='' && Level==''){
Validator = 0;
}
if (Validator==0){
alert('Must select a level for the current language you selected');
return false;
}
});
答案 0 :(得分:2)
这样怎么样:
$('#submit').bind('click', function(){
$('.LanguageBlock').each(function() {
var Language = $(this).find('.Language option:selected').val();
var Level = $(this).find('.Level option:selected').val();
if(Language!='Select' && Level=='Select'){
Validator = 0;
}
if (Validator==0){
alert('Must select a level for the current language you selected');
return false;
}
});
});