我有两个问题:这是我的代码:
$(document).ready(function(){
$("#diabetestype").closest("div").hide();
$("#diabetes").on("change", function(){
var v = $(this).val();
if(v=="positive"){
$("#diabetestype").closest("div").show();
}else{
$("#diabetestype").closest("div").hide();
}
});
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<label for="diabetes">Diabetes:</label>
<select id="diabetes" name="diabetes">
<option value="negative">Negative</option>
<option value="positive">Positive</option>
</select>
<div>
<label for="diabetestype">Diabetes Type:</label>
<select id="diabetestype" name="diabetestype">
<option value="negative">Please select Diabetes Type</option>
<option value="insulin">Insulin</option>
<option value="drug">Drug</option>
</select>
</div>
当糖尿病 阴性时,糖尿病类型值阴性,所以没关系。
问题是当糖尿病 阳性时,如果用户仍然糖尿病类型 否定 不会改变价值。
例如:如果糖尿病是阳性且糖尿病类型是胰岛素,当我们要再次改变它时,仍然隐藏糖尿病类型并且没有选择胰岛素值。我们需要再次从正变为负,从负变为正,直到第二次下降,仍然((diabetestype))被选为值而不是胰岛素当糖尿病为阳性时,如何强迫用户选择价值?要么 我们可以在糖尿病阳性时设定误差值吗?
如果选择胰岛素作为选择的diabetestype中的值,如何从表中检索数据?
答案 0 :(得分:0)
有两种方法可以满足您的第一个要求。
当使用以下代码将糖尿病选为阳性时,只需删除阴性选项,因此将第一个选项作为默认糖尿病类型
if(v=="positive"){
$("#diabetestype option[value='negative']").remove();
$("#diabetestype").closest("div").show();
}
并隐藏在您的其他情况下,您应该添加此$("#diabetestype").val('negative');
或 2.通过粗略的模型,这不是一个更好的用户体验,如下面
$("#diabetes").on("change", function(){
var v = $(this).val();
if(v=="positive"){
$("#diabetestype").focus();
$("#diabetestype").closest("div").show();
}else{
$("#diabetestype").closest("div").hide();
$("#diabetestype").val('negative');
}
});
$("#diabetestype").blur(function(){
var v = $(this).val();
if(v=="negative" && $("#diabetes").val() == 'positive'){
event.preventDefault();
alert('Select Diabetes Type');
$("#diabetestype").focus();
}
});