【发布时间】:2016-04-20 18:43:43
【问题描述】:
我有一个是/否问题(单选按钮),并且根据我想要显示/隐藏 div 的答案。 工作流程: 从选择列表中选择公民身份,如果所选选项的值为1, 询问他们的配偶是否受雇(单选按钮),如果受雇,显示输入要求个人号码。当他们填写个人号码时,显示隐藏的 div(链接到下一步)。如果公民身份选项的值为 0(表示他们没有伴侣),则显示相同的隐藏 div(链接到下一步)。 它一直有效,直到显示个人号码输入字段,但我不知道如何在 if/else 语句中向输入添加验证(以检查他们是否在里面输入了某些内容,并且只有当他们输入时,才显示下一步按钮)。 试过了,还是不行:
else if($(this).attr("value")=="yes"){
$('input[fname=amount]').keyup(function(){
if($(this).val().length==5)
$('#stepsHIDDEN').show();
else
$('#stepsHIDDEN').hide();
}
你能帮忙吗?
function showDiv(elem) {
switch (elem.value) {
case 'Select':
document.getElementById('stepsHIDDEN').style.display = 'none';
break;
case '1':
document.getElementById('questionHIDDEN').style.display = 'block';
document.getElementById('stepsHIDDEN').style.display = 'none';
break;
case '0':
document.getElementById('stepsHIDDEN').style.display = 'block';
document.getElementById('questionHIDDEN').style.display = 'none';
break;
}
}
if (document.getElementById('checkbox').checked) {
document.getElementById('stepsHIDDEN').style.display = 'block';
}
$(document).ready(function(){
$('input[type="radio"]').click(function(){
if($(this).attr("value")=="no"){
$("#stepsHIDDEN").show();
} else if($(this).attr("value")=="yes"){
$("#numberinputHIDDEN").show();
$("#stepsHIDDEN").hide();
} else { $("#stepsHIDDEN").hide();
}
});
});
#numberinputHIDDEN {
display: none;
}
#stepsHIDDEN {
display: none;
}
#questionHIDDEN {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<select name="status" id="soflow2" onchange="showDiv(this)">
<option>Select</option>
<option value="0">Single</option>
<option value="1">Married</option>
<option value="1">Registered Legal Partnership</option>
<option value="1">Remarried</option>
<option value="0">Legally Separated</option>
<option value="0">Divorced</option>
<option value="0">Widowed</option>
<option value="1">Informal Partnership</option>
</select>
<div id="questionHIDDEN">
<p>
Is your spouse/legal partner working?
<form role="form" class="question">
<label class="radio-inline">
<input type="radio" id="radiobutton" for="show" name="optradio" value="yes">Yes
</label>
<label class="radio-inline">
<input type="radio" id="radiobutton" for="show" name="optradio" value="no">No
</label>
</form>
<p id="numberinputHIDDEN">His/her Personnel Number:
<input class="personnelnumber" type="text" name="fname">
</p>
</div>
<div id="stepsHIDDEN">
<button type="button" class="nextstep"><a href="05Step.html">Next</a>
</button>
</div>
【问题讨论】:
-
使用
.val()获取value属性...而不是.attr('value') -
请检查一下...jsfiddle.net/fsf2ude0/1这是您的想法吗?
-
是的,这就是我想要的。非常感谢!
标签: javascript jquery