当前,我的问题是我显示所有选项,而仅需要选择的选项。如果未选择任何内容,则仅在选择其中一个选项时才显示该选项。
所选选项应具有必填字段。由于两者都是必需的,因此无法提交。
感谢您的解释,建议和支持。
$(document).ready(function(){
$('#problem').on('change', function(){
$('.display, .display_1').show();
if (this.value.trim()) {
if (this.value !== 'test') {
$('.display').hide();
}
if (this.value !== 'test1') {
$('.display_1').hide();
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<form id="e">
<table id="tableId">
<tr>
<td>Problem:</td>
<td><select required id="problem" name="problem">
<option value=""></option>
<option value="test">test</option>
<option value="test1">test1 </option>
</select>
</td>
</tr>
<tr class="display">
<td>Router</td>
<td><input id="router" name="router" type="text" maxlength="50" size="50" required></td>
</tr>
<tr class="display_1">
<td>Switch</td>
<td><input id="switch" name="switch" type="text" maxlength="50" size="50" required></td>
</tr>
<tr>
<td><input type="submit" class="submit" value="submit"></td>
</tr>
</table>
</form>
答案 0 :(得分:1)
我清理了HTML并添加了一些CSS。基本上,这是一个简单的if
语句,根据select语句的值显示一个或另一个输入字段:
$(document).ready(function(){
$("#problem").on("change", function(){
$(".input.text").hide();
$(".input.text input").removeAttr("required");
if(this.value === "test"){
$(".input.text#router").show();
$(".input.text#router input").prop("required", true);
}else if(this.value === "test1"){
$(".input.text#switch").show();
$(".input.text#switch input").prop("required", true);
}
});
});
form .input{
display: flex;
margin-bottom: 10px;
}
form .input input, form .input select{
margin-left: 20px;
}
form .input.text{
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<form id="e">
<div class="input">
<span>Problem:</span>
<select required id="problem" name="problem">
<option value=""></option>
<option value="test">test</option>
<option value="test1">test1 </option>
</select>
</div>
<div class="input text" id="router">
<span>Router</span>
<input id="router" name="router" type="text" maxlength="50" size="50">
</div>
<div class="input text" id="switch">
<span>Switch</span>
<input id="switch" name="switch" type="text" maxlength="50" size="50">
</div>
<input type="submit" class="submit" value="submit">
</form>