jquery 获取下拉框值的问题
本文介绍了jquery 获取下拉框值的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
用jquery实现一个功能,当下拉框选择是时,id为"auth"的div不显示;为否时,id为'auth'的div为显示状态.
页面代码:
<div class="form-group">
<label class="col-sm-4 control-label" for="confirm_password">是否是超级管理员</label>
<div class="col-sm-5">
<select class="form-control m-b" name="is_admin" id="is_admin">
<option value="1">是</option>
<option value="0" selected="selected">否</option>
</select>
</div>
</div>
<div class="form-group" id="auth" >
<label class="col-sm-4 control-label">所属权限</label>
</div>
</div>
jquery代码:
$( document ).ready( function () {
var is_admin=$("#is_admin").find(":selected").val();
console.log(is_admin);
if(is_admin==1){
$("#auth").hide();
}else{
$("#auth").show();
}
遇到一个问题,console.log(is_admin)只有第一次显示0,以后切换都没有值.我的问题在哪?谢谢
解决方案
需要给select加一个change事件,实时的获取到改变后的结果。
如果你那样写,就相当于你给0加了选中状态,console.log(is_admin)永远是 0, 尽管你的本意是想先设置一个默认值。
页面代码:倒数第二行,你多写了一个</div>
jquery代码:
$( document ).ready( function () {
$("select").change(function(){
var is_admin=$("#is_admin").find(":selected").val();
console.log(is_admin);
if(is_admin==1){
$("#auth").hide();
}else{
$("#auth").show();
}
});
});
这篇关于jquery 获取下拉框值的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文