以下是我为验证表单而创建的代码。
$(function () {
$('#subbtn').click(function () {
if ($('#course').val('x')) {
$('#s1').show();
}
if ($('#sem').val('x')) {
$('#s2').show();
}
});
HTML
<button id="subbtn" type="submit>Submit</button
<span id="$s1" style="display:none;">*</span>
<span id="$s2" style="display:none;">*</span>
#course
和#sem
是列表框的ID
在保留空白和按下按钮后它正常工作(两个星都会显示),但是在选择第一个列表框并将第二个列为空之后,然后按下按钮然后它会给出相同的结果(也就是说,显示两个星形而不是一)
请帮忙,提前谢谢
答案 0 :(得分:1)
条件不正确,应该是
if ($('#course').val() == 'x') {...}
而不是
if($('#course').val('x')) {...}
第二个列表#sem
相同。
答案 1 :(得分:1)
请试试这个
$(function () {
$(document).on('click', '#subbtn', function () {
if ($('#course').val() == '') {
$('#s1').show();
} else {
$('#s1').hide();
}
if ($('#sem').val() == '') {
$('#s2').show();
} else {
$('#s2').hide();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="course">
<option value=""></option>
<option value="be">B.E</option>
<option value="mba">MBA</option>
<option value="arts">Arts</option>
<option value="finance">Finance</option>
</select>
<select id="sem">
<option value=""></option>
<option value="1">1St</option>
<option value="2">2nd</option>
<option value="3">3rd</option>
<option value="4">4th</option>
</select>
<button id="subbtn" type="submit">Submit</button>
<span id="s1" style="display:none;">*</span>
<span id="s2" style="display:none;">*</span>