Javascript js检查的澄清
我正在尝试用JS(这不是我的强项)来解决一些问题。我设置了一把小提琴,可以在这里看到: 以下是我正在使用的代码:Javascript js检查的澄清,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试用JS(这不是我的强项)来解决一些问题。我设置了一把小提琴,可以在这里看到: 以下是我正在使用的代码: function find_select(){ if (document.getElementById("nsp").selected == true) { document.getElementById('nsp_form').style.display = 'block'; document.getElementById('feedback_form').styl
function find_select(){
if (document.getElementById("nsp").selected == true)
{
document.getElementById('nsp_form').style.display = 'block';
document.getElementById('feedback_form').style.display = 'none';
}
else if (document.getElementById("feedback").selected == true)
{
document.getElementById('nsp_form').style.display = 'none';
document.getElementById('feedback_form').style.display = 'block';
}
else if (document.getElementById("pre_alerts_yes").selected == true)
{
document.getElementById('nsp_form').style.display = 'block';
document.getElementById('pre_alerts_yes').style.display = 'block';
document.getElementById('feedback_form').style.display = 'none';
}
else{
document.getElementById('nsp_form').style.display = 'none';
document.getElementById('feedback_form').style.display = 'none';
}
}
我希望有人选择“发送预警报”选项,然后再打开一个下拉框,其中显示发送预警报选项的类型。但我没能让它这么做,特别是在:
if (document.getElementById("pre_alerts_yes").selected == true)
因此也需要检查nsp框是否打开,因为pre_alerts_yes仅显示nsp框是否打开并选择为true。很抱歉写了这么长的文章,但需要理解它
基本上是一种链式选择方法,可能出现3级下降。也许一双新的眼睛可以告诉我我做错了什么,因为最后的“pre_alerts_yes”并没有扩展最终框。如果你想打开
pre_alerts_yes
你必须先显示nsp_表单
,因为nsp_表单div下的pre_alerts_yes
操作系统是显示:无代码>首先使其显示:块代码>只需尝试命名不同的ID,并使用jquery使用类似的名称即可
<label for="input_title">Phone Type:</label>
<select name="phone_type" id="select_form" class="input-block-level" >
<option id="blank" value="blank"></option>
<option id="blank" value="house">House Phone</option>
<option id="nsp" value="cellphone">Normal Cell (Non Smart Phone)</option>
<option id="feedback" value="smartphone">SmartPhone</option>
</select>
<div id="nsp_form" style="display: none;">
<label for="input_title">Send Pre-Alerts:</label>
<select name="pre_alerts" id="pre_alerts_yes_open" class="input-block-level" >
<option id="blank" selected="selected"></option>
<option value="pre_alerts_yes">Yes</option>
<option value="normal_cell">No</option>
</select>
<div id="pre_alerts_yes_form" style="display: none;">
<label for="input_title">Pre-Alerts Type:</label>
<select name="pre_alerts" id="pre_alerts_from" class="input-block-level" >
<option value="pre_alerts_yes">Yes</option>
<option value="normal_cell">No</option>
</select>
</div>
<label for="input_title">Alert Type:</label>
<select name="cell_type" class="input-block-level">
<option value="house">SMS Message (Standard)</option>
<option value="normal_cell">SMS Message (Customized)</option>
<option value="smart_phone">Phone Call (Standard Voice)</option>
<option value="smart_phone">Phone Call (Customized Voice)</option>
<option value="smart_phone">Phone Call (Audio Call)</option>
<option value="smart_phone">Phone Call (Audio Prompt Call)</option>
</select>
</div>
<div id="feedback_form" style="display: none;">feedback</div>
电话类型:
家庭电话
普通手机(非智能手机)
智能手机
发送预先警报:
对
不
预警类型:
对
不
警报类型:
短信(标准)
短信(定制)
电话(标准语音)
电话(定制语音)
电话(音频通话)
电话呼叫(音频提示呼叫)
反馈
像这样的jquery
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$('#select_form').on('change',function()
{
if ( $(this).val() == 'cellphone' ) {
$('#nsp_form').show();
$('#feedback_form').hide();
} else if ( $(this).val() == 'smartphone' ) {
$('#nsp_form').hide();
$('#feedback_form').show();
} else {
$('#nsp_form').hide();
$('#feedback_form').hide();
}
});
$('#pre_alerts_yes_open').on('change',function(){
if ( $(this).val() == 'pre_alerts_yes') {
$('#nsp_form').show();
$('#feedback_form').hide();
$('#pre_alerts_yes_form').show();
} else {
$('#nsp_form').hide();
$('#feedback_form').hide();
}
});
<script>
$('select#form')。在('change',function()上
{
如果($(this.val()=='mobile'){
$('nsp_form').show();
$(“#反馈形式”).hide();
}else if($(this).val()=='smartphone'){
$('nsp_form').hide();
$(“#反馈形式”).show();
}否则{
$('nsp_form').hide();
$(“#反馈形式”).hide();
}
});
$('pre#u alerts_yes_open')。在('change',function()上{
如果($(this).val()=='pre\u alerts\u yes'){
$('nsp_form').show();
$(“#反馈形式”).hide();
$('pre#u alerts_yes_form').show();
}否则{
$('nsp_form').hide();
$(“#反馈形式”).hide();
}
});
这正是让我恼火的地方。实际上,我是先打开街区的。如果您查看JSFIDLE的js部分中的第三部分代码,您将看到我首先打开nsp块,然后是pre_alerts_yes_表单,该表单似乎不起作用。我比你提供的更接近我的例子。谢谢你