【发布时间】:2019-10-28 09:28:33
【问题描述】:
我有 2 个select。第一个选择是必需的。条件display: none 和disabled 需要第二个选择。
如果用户从第一个选择中选择rev,它将隐藏第二个选择。
如果用户从第一次选择中选择approve,它将显示第二次选择并删除disabled 属性。
它在 Firefox 中运行良好,但是当我在 Chrome 中尝试时它失败了。我的代码有什么问题?
$(document).ready(function() {
//alert('work di firefox, chrome gagal');
$("#netral").on("click", function() {
$("#target1").show();
$("#target2").addAttr("disabled", false);
});
$("#revisi").on("click", function() {
$("#target1").hide();
});
$("#approve").on("click", function() {
$("#target1").show();
$("#target2").removeAttr("disabled", false);
});
});
select {
height: 2rem;
width: 10rem;
border: solid 1px rgba(0, 0, 255, 0.5);
border-radius: 5px;
}
select:hover {
border: solid 2px rgba(0, 0, 255, 0.5);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
<div class="col-md-6">
Select 1
<select name="status" id="status" required>
<option value="" id="netral"> - </option>
<option value="1" id="rev"> Rev </option>
<option value="3" id="approve"> Approve </option>
</select>
</div>
<div class="col-md-6" id="target1">
Select 2
<select class="form-control" name="data" id="target2" disabled required>
<option value=""> - </option>
<option value="1">Supl 1</option>
<option value="2">Supl 2</option>
</select>
</div>
</div>
【问题讨论】:
-
在每个事件处理程序中添加一些 console.logs/breakpoints - 它们永远不会在 chrome 中触发。使用
$("select").on("change", function() { $(this).val() ...而不是<option id=
标签: jquery google-chrome firefox